MPC5744P IVOR1 Machine Check Handler not hit with uncorrectable FLASH ECC error on RTOS, baremetal SHi,I am using the FLASH_ECC_Error_Injection_MPC5744P demo project from SDK 2.1 to test FLASH ECC fault handling.
- In the bare-metal SDK example:After calling Generate_noncorrectable_FLASH_ECC_error, the core properly traps the fault and enters Machine_check_handler (IVOR1 Handler) as expected.
- After porting the identical ECC injection logic to my RTOS-based project:No machine check exception occurs, and the code never jumps into Machine_check_handler.
I have already completed the following porting & configuration steps:
- Fully ported and defined IVOR1_Handler in the startup .s assembly file, consistent with the bare-metal demo;
- Full FCCU alarm interrupt configuration is implemented, but no FCCU alarm interrupt is triggered either when injecting the uncorrectable FLASH ECC error.
I have 3 core questions to troubleshoot this issue:
- What mandatory hardware/register configurations are required to enable entry to the Machine Check Handler (IVOR1) for FLASH uncorrectable ECC errors?
- Are there special considerations or constraints when running ECC fault injection and machine check exception handling under an RTOS?
- Could you provide a step-by-step debug/troubleshooting workflow to locate the root cause of this missing machine check exception?
Re: MPC5744P IVOR1 Machine Check Handler not hit with uncorrectable FLASH ECC error on RTOS, baremetI don't know mentioned example, I suppose it is ported version on my appnote I did with using of GHS compiler.
https://www.nxp.com/docs/en/application-note/AN13179.pdf
https://www.nxp.com/docs/en/application-note-software/AN13179SW.zip
If RTOS affects the bahavior, then it is needed to investigate what is does with MSR register. Pay attention to chapter 5.
Also you may check section 8 to understand ECC handling.