Hello NXP Support,
We are working on an application based on the MPC5674F microcontroller using Micrium OS (V3), configured in Software Vector Mode using IVOR4 (External Interrupt).
The system operates reliably under no external interrupt conditions. However, under interrupt load—particularly when all CAN channels are actively receiving via INT. we encounter the following exceptions:
IVOR6 – illegal address Exception
IVOR13 – Program Exception
To implement the ISR handling, we referred to the MPC574xG Micrium port code, and adapted a similar stack-switching mechanism. Our ISR handler follows the standard pattern:
- Increments the interrupt nesting counter on entry.
- Saves the current task stack pointer into the TCB during the first interrupt.
- Switches to a dedicated ISR stack.
- Restores the task stack and decrements the nesting counter on exit.
Despite this setup, the system crashes sporadically during or shortly after ISR execution.
Observations:
Application crashes with above mentioned Exceptions
The exceptions seem to indicate potential stack corruption, misalignment, or unintended re-entry.
Request:
Are there any known issues, hardware considerations, or subtle ISR handling differences in Software Vector Mode (IVOR4) specific to the MPC5674F compared to MPC57xx devices?
Should we account for any additional alignment, stack integrity, or MSR-related precautions?
Any insights or recommendations would be greatly appreciated to help us root-cause and resolve this issue.
Kindly find attachment's of both MPC5674F and MPC57xx Notes
Thank you,
Narendra C