-
Notifications
You must be signed in to change notification settings - Fork 56
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
AC6 Linker Script Improvement: region RAM1 ... RAM3 is not used when RAM0 is full #1778
Comments
One potential solution/workaround would be as follows: The overflows of RW_RAM0 can be checked using the function ScatterAssert(). Such an assert is evaluated at the end of the link so that all sizes are known: I have made a simple test with a Cortex-M7 example, which works as expected |
The Problem To Be Solved
The AC6 linker script uses
*(+RW +ZI)
instead of .ANY. This creates a problem: when region RAM0 is full it is expected that RAM1...3 regions are used. However this does not work due to the*
usage in RAM0 region.The reason why
*
instead of .ANY is used, is theAlignExpr(ImageLength(RW_NOINIT)
inhttps://github.com/Open-CMSIS-Pack/devtools/blob/main/tools/projmgr/templates/ac6_linker_script.sct.src#L51
Workaround is explicit placement of sections.
The text was updated successfully, but these errors were encountered: