Dear all,
My target chip is S32K146.
I found sometime the chip resets. The RCM-SSRS code is 0X200. I read the reference manual, this reset is generated by ARM core lockup.
I have few questions on it:
1. Normally what is the reason of the lockup reset?
2. Why the system reset instead of stuck in lockup?
3. How to trace the fault? Is it possible the fault coming from hardware? I added trace code in hardfault handler and NMI handler. But nothing printed when lockup reset happened.
4. I config the NMI_b pin as I2C. Do I need to disable NMI_b interrupt by configing FTFC_FOPT?
1) Please refer to Cortex -M4 Devices Generic User Guide
https://developer.arm.com/documentation/dui0553/latest/
"The processor enters a lockup state if a fault occurs when executing the NMI or HardFault handlers."
So it could be because a fault exception is detected but the fault execption handler is not implemented.
Do you have HardFault handler in the source code?
2) See device’s RM, section 25.2.2.8 Lockup reset (LOCKUP):
The LOCKUP gives immediate indication of seriously errant kernel software. This is the
result of the core being locked because of an unrecoverable exception following the
activation of the processor’s built in system state protection hardware.
The LOCKUP condition causes a system reset and also causes the MCU to write 1 to
RCM_SRS[LOCKUP] field.
3) I guess that possibly following overview could help you:
https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447
4) Certainly yes, I would recommend to do it so.