SPRUIY2A November 2024 – March 2025 F29H850TU , F29H859TU-Q1
The Interrupt Status Register (ISTS) contains status information of various interrupt flags, stack pointers, current link, and various counters.
| - | CURRLINK | - | INTSP | CURRSP | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ATOMIC {counter} | - | - | - | - | - | NMIF | RTINTF | INTF | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Current LINK (CURRLINK): All resources including memory, peripherals, stacks are associated with LINK ID. Links divide the boundaries of context in which the CPU is operating. Hence the code source address of the instruction packet in the D2 pipeline stage is resolved to the corresponding code's LINK. This information is critical to validate, update and access permissions in the interrupt vector table. The information is also critical to configuration settings associated with each interrupt. Therefore, the CURRLINK register provides the current LINK.
Stack pointers (CURRSP, INTSP): The C29x CPU, with embedded virtualization, has multiple stacks. The user can assign a particular stack for INT, but RTINT and NMI use the RTINT Stack. The current stack pointer, which points to the current STACK in use by the CPU, is represented by the CURRSP field. The STACK that is chosen to be used by low-priority interrupts (INTs) is represented by the INTSP field. INTs do not enter the pipeline until the INTSP matches the CURRSP.
ATOMIC counter (ATOMIC): The CPU allows up-to 256 instruction packets executed at one stretch without being interrupted by RTINT or INT. The number of remaining instruction packets of ATOMIC execution is reflected in the ATOMIC counter. Interrupts are not picked up for processing by the CPU, if the ATOMIC counter is ticking. NMI is not affected by the ATOMIC counter, and operation is stopped and the counter is reset if an NMI is received. See Section 3.3.1 for more details on the ATOMIC counter.
Interrupt flags (INTF, RTINTF, NMIF): Independent interrupt flags are registered including INTF, RTINTF, and NMIF. These flags are set whenever a corresponding interrupt is asserted to the CPU and cleared upon exiting the corresponding ISR. If there are multiple nested interrupts that are taken by CPU, then all corresponding flags are set and those are cleared only upon servicing all interrupts in the respective category.