SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
STACKs isolate code execution contexts from each other. Each STACK has a dedicated stack pointer in the CPU, and a dedicated set of CPU registers, and provides hardware safety and security isolation of code from other STACKs. Every LINK belongs to one and only one STACK, but a STACK can contain multiple LINKs. For CPU execution to cross from a LINK associated with one STACK to a LINK associated with another STACK, the code must execute special instructions that preserve data safety during context switching.
To specify which STACK a LINK belongs to, configure the LINKx_CFG field/register in the SSU configuration.
Like LINKs, the SSU passes the STACKID to the CPU during instruction fetch, and the CPU outputs the instruction STACKID to the SSU when performing data accesses.
Each CPU has a total of 8 STACKs. The SSU predefines and reserves the first three stacks as follows:
STACK3 and above are secondary user STACKs, and can be defined by the user application as required.