12.7 Locating the Stack at a Specific Address
By default, the linker allocates a maximum-size stack using the largest
unused block of data memory. In cases where it is necessary for the programmer to specify
the location and size of the stack explicitly, the stack may be defined in assembly
language, using the stack
attribute:
.section my_stack, stack, address(0x1800)
.space 0x100
When the stack is allocated in this way, the usable stack space will be slightly less than 0x100 bytes, since a portion of the user-defined section will be reserved for the stack guardband.