 | RL-ARM User's Guide |  |
|
|
| Stack SizeThe stack usage of a particular task depends on its amount of local automatic variables and the number of subroutine levels. Interrupt functions do not use the stack of the interrupted task. - OS_STKSIZE specifies the amount of RAM allocated for the stack of each task. Stack size is defined in U32 (unsigned int). However, Configuration Wizard converts the specified size and displays it in bytes. Stack size with the following define is 400 bytes.
#define OS_STKSIZE 100
On the full context task switch, the RTX kernel stores all ARM registers on the stack. Full task context storing requires 64 bytes of stack.
- The Cortex-M4 with Hardware Floating Point, needs additional 136 bytes on stack for storing VFP registers. This means the total size of the full context store for Cortex-M4 with FP is 200 bytes.
- The Cortex-M4 tasks, where the Floating Point arithmetics is not used, do not store the additional VFP registers on context save. This means, they do not need additional 136 bytes on the stack. The full context store for tasks with no Floating Point calculations is still 64 bytes.
|
|