Part Number: TMS320F280039
Background Introduction:
1)The system uses interrupt sources including DMA_CH1/DCANA_0/DCANA_1/TIMER2.
2)DMA_CH1 is a 50µs control interrupt; TIMER2 is a 1ms OS interrupt; DCANA_0 is a CAN error and status interrupt; DCANA_1 is a CAN mailbox communication interrupt.
3)The underlying layer is configured and generated using SysCfg, employing an interrupt nesting scheme. The interrupt nesting priority follows the default TI priority settings without any modifications.
4)The product must comply with IEC60730 Class B requirements, therefore HWBIST-related code must be added.
Issues:
1)STL_HWBIST_runMicro() is called within the control interrupt (50µs).
2)When performing HWBIST detection, a spurious interrupt for TIMER2 is triggered. Referring to the forum issue: tms320f280025-spurious-interrupts-after-hwbist-test. The TIMER2 ISR was modified as follows: clear the TIMER2 TIF bit immediately upon entering the TIMER2 interrupt handler. After this change, TIMER2 enters normally every 1ms.
3)After running for some time, it was observed that the control interrupt (DMA_CH1) and OS interrupt (TIMER2) can both enter normally, but the CAN1 interrupt cannot enter. If STL_HWBIST_runMicro() is disabled in the control interrupt, the issue of CAN1 interrupt not entering does not occur.