Image symbols are generated by the linker when you do not use scatter-loading to create a simple image.
The following table shows the image symbols:
Table 6-4 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
__user_setup_stackheap() uses 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.