The Interrupt service table pointer ISTP (Interrupt service tables Pointer) position register is used for locating the interrupt service routine, where ISTP goes to find the program to run, and ISTP (the Istb field in it) is the register that points to the IST table. A field in ISTP ISTB determines the address cardinality portion of the IST. There is also a field hpeint determines the specific interrupt and locates the location of the specific pickup package in the IST. The fields of ISTP are seen in Figure 6-4. Table 6-2 describes the fields and how they are used.
For the ISTP register, the bit 0~4 must be set to 0, that is, the start address of the IST table, or the fetch packet must be 32-byte aligned.
The istb field represents the Interrupt service table base address of the IST address.
This field is the default value of 0 addresses when resetting. Therefore, at startup, the IST must be placed at the 0 address as a result of resetting reset. The system must be run from the reset vector. It starts at address 0 and jumps to the bootloader program (the ISR interrupted by reset).
However, after the reset, it is possible to write a new value to the ISTB to reposition the ist. Assuming another location, the first ISFP (corresponding to the reset interrupt) will never be run, since the reset causes the ISTB to be set to 0.
Hpeint The field is given the highest priority interrupt number in the current ier (relative to the location of the IFR relative bit), which is the highest priority interrupt number currently pending and enabled in Ier. The ISTP can be used to manually jump to the highest-level enabled interrupts (by the value of ISTP plus the highest priority interrupt offset in the IST. will be able to get the corresponding vector address). Assume that there are no pending and enabled interrupts. The value of Hpeint is 0000b. This corresponding interrupt does not need to be nmie (unless nmi) or gie to enable.
TI c66x DSP system events and their applications-5.8 (ISTP)