Image symbols are generated by the linker when you use a command-line option to create a simple image.
The following table shows the image symbols:
Address of the start of the RO output section.
|Output||Address of the first byte beyond the end of the RO output section.|
|Output||Address of the start of the RW output section.|
|Output||Address of the byte beyond the end of the ZI output section. (The choice of the end of the ZI region rather than the end of the RW region is to maintain compatibility with legacy code.)|
|Output||Address of the start of the ZI output section.|
|Output||Address of the byte beyond the end of the ZI output section.|
If you are using a scatter file, the image symbols are undefined. If your code accesses any of these symbols, you must treat them as a weak reference.
The standard implementation of
the value in
Image$$ZI$$Limit. Therefore, if
you are using a scatter file you must manually place the stack and
heap. You can do this either:
In a scatter file using one of the following methods:
Define separate stack and heap regions called
Define a combined region containing both stack and heap called
__user_setup_stackheap()to set the heap and stack boundaries.
Using ARM C and C++ Libraries and Floating-Point Support: