ARMCC: VARIABLES GET LOCATED TO RW RATHER THAN ZI
Information in this article applies to:
For the following example code:
The linker reports these memory sizes RW data = 8 and ZI data = 0
The linker reports these memory sizes RW data = 0 and ZI data = 9.
Why is the latter in the ZI section but the former isn't? Is there a way to change the linker behaviour?
Data objects smaller than 9 bytes get moved to the RW region for optimization reasons. This threshold can be controlled by the bss_threshold compiler switch. To enable this option in µVision please add the compiler switch in Options for Target — C/C++ — Misc Controls field.
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Wednesday, January 25, 2017
of your data.