5.15.1.2 Data Space Psects
The following psects reside in data memory.
nv
- The psects used to store variables qualified
__persistent
. They are not cleared or otherwise modified at startup. These psects can be linked anywhere in their targeted memory bank and should not overlap any common (unbanked) memory that the device supports. bss
- The psects that contain any uninitialized variables. These psects can be linked anywhere in their targeted memory bank and should not overlap any common (unbanked) memory that the device supports.
data
- The psects contain the RAM image of any initialized variables. These psects can be linked anywhere in their targeted memory bank and should not overlap any common (unbanked) memory that the device supports.
cstack
- The psects that contain the compiled stack. On the stack are auto and parameter variables for the entire program. These psects can be linked anywhere in their targeted memory bank and should not overlap any common (unbanked) memory that the device supports.
stack
- This psect is used as a placeholder for the software stack. Objects on this stack
are dynamic allocated and the total stack size is not known by the compiler. As
described in 5.7.2 Data Stacks
this psect is typically allocated the remainder of the free data space, so that the
stack may grow as large as possible. This psect may be linked anywhere in the data
memory, but it is typically allocated to any available address in the
STACK
linker class. Consider adjusting this linker class to change the location of this psect, noting that the class size might limit the size of the software stack. Any overflow of the software stack might cause code failure.