SPRUIY2 November 2024 F29H850TU , F29H859TU-Q1
The C29x CPU has three types of stacks, with related pointers for each. These are outlined in Table 3-4 as a high-level overview. The section that follows provides details on the pointers of the interrupt-related High-Priority Interrupt Stack.
Stack Type | Related Pointers |
---|---|
Normal Software Stack | SECSPx, where x = 0 to 15 |
Protected Call Stack | PSP, WARNPSP, MAXPSP |
RTINT Stack | ISP, WARNRTISP, MAXRTISP |
RTISP (RTINT Stack Pointer): This points to the stack that is used by NMI and RTINT interrupt lines. This stack is SSU-protected. See the Stack subsection of Section 3.2.3 for more details on the RTINT Stack.
WARNRTISP level: This level is pre-programmed by secure software code. If the ISP from CPU meets this level then the external PIPE module stops sending RTINTs to the CPU. This is to slow down stack progression or excessive nesting that can lead to a stack overflow. WARNRTISP level can be updated by the user meeting the required software security checks. Modification of WARNRTISP level is typically done after reset.
MAXRTISP level: This is a fixed-level equal to the total of number of nestings allowed by the High Priority Interrupt Stack minus one. This is to allow one reserved interrupt stack space for an NMI to trigger, to prevent stack overflow. The PIPE raises a fault when this level is reached, which in turn generates an NMI to resolve this critical condition.