-
Notifications
You must be signed in to change notification settings - Fork 3k
Update the linker script to support RW/ZI/Heap span across RAM banks #10003
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 the linker script to support RW/ZI/Heap span across RAM banks #10003
Conversation
7f4464a
to
0277e1c
Compare
@deepikabhavnani, thank you for your changes. |
Closing for now since @deepikabhavnani is out until 2nd week of April. |
@ARMmbed/mbed-os-maintainers - Can we please reopen this? |
@deepikabhavnani Done! |
0277e1c
to
7b3ad4b
Compare
Rebased to re-trigger CI, and pick up latest fixes. |
@ARMmbed/team-st-mcd - Please review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could approve, but who takes the action to align all icf files for all targets ?
In fact not... tests with DISCO_L475 are all failing with that current patch :-( |
Will try to grab the device and test. Thanks |
As per EWARM Development guide A region consists of one or several memory ranges, where each memory range consists of a continuous sequence of bytes in a specific memory. Several ranges can be combined by using region expressions. Note that those ranges do not need to be consecutive or even in the same memory. RAM region here is made as combination of 2-RAM banks define region RAM_region = mem:[from __SRAM2_start__ to __SRAM2_end__] | mem:[from __SRAM1_start__ to __SRAM1_end__]; block can be placed in specific region which can have several ranges. place in RAM_region { block RW }; place in RAM_region { block ZI }; place in RAM_region { block HEAP };
7b3ad4b
to
95dcd75
Compare
@jeromecoutant - I have fixed the issue, verified with few test cases. Please review |
CI started |
Test run: FAILEDSummary: 1 of 7 test jobs failed Failed test jobs:
|
Looks like these changes result in build failure for tls test. Please review |
Fixed by 59e78a6 |
CI restarted |
Test run: FAILEDSummary: 1 of 7 test jobs failed Failed test jobs:
|
Needs fixes for IAR build |
Closing this. Linker files in this PR will be updated as part of #10303. Thanks @juhoeskeli |
Description
As per EWARM Development guide
A region consists of one or several memory ranges, where each memory range
consists of a continuous sequence of bytes in a specific memory. Several ranges
can be combined by using region expressions. Note that those ranges do
not need to be consecutive or even in the same memory.
RAM region here is made as combination of 2-RAM banks
define region RAM_region = mem:[from SRAM2_start to SRAM2_end]
| mem:[from SRAM1_start to SRAM1_end];
block can be placed in specific region which can have several ranges.
place in RAM_region { block RW };
place in RAM_region { block ZI };
place in RAM_region { block HEAP };
Pull request type