SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
Table 4-16 explains the actions that the boot ROM performs, if any exceptions occur during boot. The philosophy of CPU1 boot ROM is to try and start the application and log the error. The philosophy of CPU2 is to log the error in IPCBOOTSTS register and let CPU1 handle the action.
The boot ROM sets up the NMI handlers and enables NMI on every reset type. For any CPU2 NMI event sources, CPU2 NMI handler clears the NMI flag to stop the NMI watchdog counter and prevent continuous NMIWD resets on CPU2. The error pin goes low or high (depending on the polarity configuration on the error pin and the reset type) temporarily before NMI flag is cleared (shorter width of error pin signal means CPU2 is source of error). CPU2 then updates the boot status and sends IPC to CPU1 for CPU1 to handle the error and reset CPU2.
The CPU error pin can be low or high on an error depending upon the reset and polarity configured for the error pin. For POR, low implies error, whereas on other resets the pin can be low or high depending on the ERROR.POLSEL value configured by the application.
Exception Event Source | CPU1 Boot ROM Action | CPU2 Boot ROM Action | Event Logged |
---|---|---|---|
Clock Fail | Clear the NMI flag and continue to boot | Clear NMI flag, update boot status to CPU1, send error IPC to CPU1, and wait in loop | Yes |
RAM/Flash Uncorrectable Error | Reset the device | Clear NMI flag, update boot status to CPU1, send error IPC to CPU1, and wait in loop | Yes |
System Debug (ERAD) NMI | Clear the NMI flag and continue to boot | Clear NMI flag, update boot status to CPU1, send error IPC to CPU1, and wait in loop | Yes |
RL NMI (CLB) | Clear the NMI flag and continue to boot | Clear NMI flag, update boot status to CPU1, send error IPC to CPU1, and wait in loop | Yes |
HWBIST NMI (CLB) | Clear the NMI flag and continue to boot | No action | Yes |
ITRAP Exception | Provide program address of where illegal instruction was executed and let the device reset | Send IPC to CPU1 with illegal instruction execution location and wait in loop | Yes |
Unsupported PIE Interrupts | Ignore and continue to boot | Ignore and continue to boot | No |
OVF (Over Voltage Fault) | Not in the scope of boot code, let the device reset | Not in the scope of boot code, let the device reset | No |
Software Error | Software Self-test Error (SW writes to NMI FLAG). Not in the scope of boot code, let the device reset | Software Self-test Error (SW writes to NMI FLAG). Not in the scope of boot code, let the device reset | No |
Invalid CPU1TOCPU2IPCBOOTMODE Values On Any Reset | No action | Send IPC to CPU1 and wait in loop | Yes |
Lockstep NMI | No action | Send IPC to CPU1 and wait in loop | Yes |