New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update linker files for NUCLEO_F207ZG and enable bootloader functionality #7871

Merged
merged 3 commits into from Aug 30, 2018

Conversation

Projects
None yet
6 participants
@juhoeskeli
Contributor

juhoeskeli commented Aug 23, 2018

Description

Updated linker and startup files for target

  • ARM_STD startup file cleanup; removed stack & heap configuration section which seemed like leftovers from somewhere. As far as I can tell they had no function.
  • ARM_STD linker file to support MBED_APP_START
  • GCC_ARM linker file to support MBED_APP_START
  • IAR linker file to support MBED_APP_START
  • IAR linker file stack configured to 1kB and heap 64kB
    Bootloader support
  • Add bootloader_supported to targets.json
  • Update vector table with application start address

Tested with MCC internal version on all three compilers, with and without MBED_APP_START. Bootloader not tested.

Pull request type

[ ] Fix
[ ] Refactor
[X] Target update
[ ] Functionality change
[ ] Breaking change

@0xc0170 0xc0170 requested a review from ARMmbed/team-st-mcd Aug 23, 2018

@juhoeskeli

This comment has been minimized.

Contributor

juhoeskeli commented Aug 24, 2018

Bootloader seems to be OK on all three compilers.

@@ -404,33 +382,6 @@ HASH_RNG_IRQHandler
ENDP
ALIGN

This comment has been minimized.

@0xc0170

0xc0170 Aug 24, 2018

Member

why are we removing these lines in this startup file?

This comment has been minimized.

@juhoeskeli

juhoeskeli Aug 24, 2018

Contributor

To save memory. It was my impression that they are leftovers from somewhere and actually serve no purpose other than eat up memory. They seem to be used by __user_initial_stackheap which is not used for anything as far as I know.

In case it would be actually needed for something we have those targets that do not have these kind of definitions. For example startup_stm32F411xe.S or startup_stm32l486xx.S which I know work with MCC. Those targets that do have these sections seem to be under TOOLCHAIN_ARM_MICRO. startup_stm32l031xx.S for example has the "Tailor this value ..." comment left but has other parts removed in similar fashion. In fact, I think this is the only STM target that has these definitions under TOOLCHAIN_ARM_STD.

This comment has been minimized.

@juhoeskeli

juhoeskeli Aug 24, 2018

Contributor

I may be wrong though and maybe they do have some purpose. I just don't know what it is.

This comment has been minimized.

@juhoeskeli

juhoeskeli Aug 24, 2018

Contributor

But if there is no reason I would gladly see them gone. It adds up to 1536 bytes of RAM.

This comment has been minimized.

@bcostm

bcostm Aug 27, 2018

Contributor

These lines are removed the same way in all other ST platforms. I don't know why this was not the case for this one...

@AnttiKauppila

This comment has been minimized.

Contributor

AnttiKauppila commented Aug 27, 2018

@0xc0170 Can you trigger a build for this
We would like to target this to 5.10.0-rc?

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 27, 2018

@0xc0170 Can you trigger a build for this

I am waiting for @ARMmbed/team-st-mcd review (the changes look good, just do not understand the removal for two regions memory/microlib there).

@bcostm

bcostm approved these changes Aug 27, 2018

@@ -404,33 +382,6 @@ HASH_RNG_IRQHandler
ENDP
ALIGN

This comment has been minimized.

@bcostm

bcostm Aug 27, 2018

Contributor

These lines are removed the same way in all other ST platforms. I don't know why this was not the case for this one...

/*Heap 1/4 of ram and stack 1/8*/
define symbol __size_cstack__ = 0x4000;
define symbol __size_heap__ = 0x8000;
/* Stack: 4kB - 408B for vector table */

This comment has been minimized.

@bcostm

bcostm Aug 27, 2018

Contributor

Stack is now 1KB. Maybe change this comment.

@juhoeskeli juhoeskeli force-pushed the juhoeskeli:NUCLEO_F207ZG_LINKER_MCC branch from d0d0ffc to d5b374b Aug 28, 2018

@juhoeskeli

This comment has been minimized.

Contributor

juhoeskeli commented Aug 28, 2018

Review now done & changes made according to review. @0xc0170 Can you trigger a build for this

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 29, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Aug 29, 2018

Build : SUCCESS

Build number : 2948
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/7871/

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@AnttiKauppila

This comment has been minimized.

Contributor

AnttiKauppila commented Aug 30, 2018

@0xc0170 Can you merge this? Everything is ok with this.

@0xc0170 0xc0170 merged commit 56117a8 into ARMmbed:master Aug 30, 2018

14 checks passed

ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed , RTOS ROM(+0.0%) RAM(-0.09%)
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/cloud_client_smoke_test Test job was successful
Details
travis-ci/astyle Passed, 555 files
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 10213 cycles (+1074 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details

@0xc0170 0xc0170 changed the title from Updated linker files (GCC_ARM, ARM, IAR) for NUCLEO_F207ZG and enabled bootloader functionality to Update linker files for NUCLEO_F207ZG and enable bootloader functionality Aug 30, 2018

@mbed-ci

This comment has been minimized.

mbed-ci commented Aug 30, 2018

@juhoeskeli juhoeskeli deleted the juhoeskeli:NUCLEO_F207ZG_LINKER_MCC branch Aug 30, 2018

@juhoeskeli juhoeskeli restored the juhoeskeli:NUCLEO_F207ZG_LINKER_MCC branch Aug 30, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 30, 2018

@studavekar @OPpuolitaival These phantom builds - is there anything we can do about? (latest exporter failure after it was integrated)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment