Skip to content

fix rom start & size for CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W #11138

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

Merged
merged 1 commit into from
Aug 6, 2019
Merged

fix rom start & size for CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W #11138

merged 1 commit into from
Aug 6, 2019

Conversation

maclobdell
Copy link
Contributor

Description

This fixes a mistake that was merged to master in #11053

This corrects the flash base address and size, and makes it compatible with the new method that was introduced in 5.13.1 for merging the Cortex M4 and Cortex M0+ images. Essentially, instead of setting the rom start to be the start of the M4 area, it will now be set to the start of the M0+ area which precedes the M4. The linker file handles adding the M0+ area instead of post-build scripts.

This does not fix bootloader support. That will be introduced in a future PR.

This has been tested with CY8CKIT_062_WIFI_BT & CY8CPROTO_062_4343W, using GCC_ARM, and mbed-os-example-blinky. The application starts up fine on each board after this change.

Please merge urgently as this fixes master for these targets and unblocks other PRs.

cc @ARMmbed/team-cypress

Pull request type

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

Reviewers

Release Notes

@ciarmcom ciarmcom requested a review from a team July 31, 2019 19:00
@ciarmcom
Copy link
Member

@maclobdell, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

@vmedcy
Copy link
Contributor

vmedcy commented Jul 31, 2019

@maclobdell:
thank you, does this fix address issue raised in #10892 (comment)?

The bootloader use-case was not covered by Cypress internal testing of PR that introduced a change to CM0+ image placement flow.

@hennadiykytsun
Copy link
Contributor

I feel you are going to do something wrong that is not compatible with the current Cypress linker scripts and current dual core strategy, or probably I have missed something.
Are you going to replace CM0+ core image with the bootloader with this PR?

@hennadiykytsun
Copy link
Contributor

I feel you are going to do something wrong that is not compatible with the current Cypress linker scripts and current dual core strategy, or probably I have missed something.
Are you going to replace CM0+ core image with the bootloader with this PR?

The mbed_overrides.c file handle situation with the device peripheral initialization if bootloader is enabled (CM4 does it), otherwise - this does CM0+ if bootloader is disabled for the PSA targets.

@maclobdell
Copy link
Contributor Author

@hennadiykytsun @vmedcy - This change paves the way for managed bootloader support (for the Cortex M4 application) by providing values that the mbed os build tools use to set and verify the start of flash. It is compatible with the new method that you are using to merge the CM0+. The flow that I believe can work (if logic added to the linker files) is that if building a bootloader (for M4) or application (for M4) that does not plan to use a bootloader, then include the CM0+ area. If building an application that will use a bootloader, then do not include the CM0+ area. If there are different settings in mbed_overrides.c for when building a bootloader or not, then perhaps these can be wrapped in a config macro.

@mbed-ci
Copy link

mbed-ci commented Aug 5, 2019

Test run: SUCCESS

Summary: 11 of 11 test jobs passed
Build number : 1
Build artifacts

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

Successfully merging this pull request may close these issues.

6 participants