Dear all, I have KE04Z8VWJ4 processor.
I used about 100 pieces on the production line without any problem.
With the new lot some microcontrollers reset after a few seconds.
Using the flash on an output I checked the contents of the SIM_SRSID register and verified that the cause is LOCKUP.
I ask for your help to understand the possible cause of this reset.
- Could it be caused by software error?
Solved! Go to Solution.
Hi Stefano,
A number of conditions can cause lockup in the rcortex-m0 processor:
1. A fault occurred during the execution of the NMI handler
2. A fault occurred during the execution of the hardfault handler (double fault)
3. There was an SVC execution inside the NMI handler or the hardfault handler (insufficient priority)
4. A bus error response during reset sequence (e.g when reading initial SP value)
5. There was a bus fault during the unstacking of the xPSR during the exception return using the main stack pointer (MSP) for the unstacking.
You can also see this link for more information https://www.sciencedirect.com/topics/computer-science/error-condition
Basically, there are many reason for lockup, both hardware and software.
Regards,
Jing
Hi, I have similar problem. I have used MKE04Z8VFK4 in first production series.
Some random errors occured. No all pieces behaved in the same way.
I tried to calibrate the clock frequency by ICS_C3 SCRTIM.
Lockup reset ocure every time I try to write ICS_C3 register.
The project was reduced to very simply code with only SysTick_Handler interrupt enabled.
SIM_SRSID: FAMID 0000, SUBFAMID 0100, REVID 0x2, PINID 0011.
Marking M04Q3V AHHFAB
I have replaced the MCU with another series (same SRSID) and the board works OK.
Regards
Jaroslav Brazdil
How can I find the cause of lockup reset ?
Hi,
You have to trace the code to find where and how it happen. Maybe you can set break point in hardfault or use MTB function of cortex-M0+.
Regards,
Jing
If I use a breakpoint with codewarrior and multilink I can't understand the cause of break ?
Sorry but whati is the MTB function of cortex-M0+ ?
Hi,
you can read the stack window to get the environment of hardfault. It may help you to analyze the problem.
It seems CodeWarrior hasn't SWO or MTB trace function. MCUXpresso has this function. This function can save executed instruction in a circular buffer and read out by SWD. This can help you to trace MCU.
Regards
Jing
With this processor I believe I can't use MCUXpresso ! Only CodeWarrior :smileysad:
Hi Stefano,
A number of conditions can cause lockup in the rcortex-m0 processor:
1. A fault occurred during the execution of the NMI handler
2. A fault occurred during the execution of the hardfault handler (double fault)
3. There was an SVC execution inside the NMI handler or the hardfault handler (insufficient priority)
4. A bus error response during reset sequence (e.g when reading initial SP value)
5. There was a bus fault during the unstacking of the xPSR during the exception return using the main stack pointer (MSP) for the unstacking.
You can also see this link for more information https://www.sciencedirect.com/topics/computer-science/error-condition
Basically, there are many reason for lockup, both hardware and software.
Regards,
Jing
Hi to all,
I have probably found my problem.
I'm using MKE04 with 48MHz system clock.
I have found that :
a) some series of MKE04 are very sensitive on system clock seting.
b) ICS_C3 Control register is no "fine" trim. It has great effect on system clock.
So you need to be very careful when changing this settings.
c) Different series of MKE 04 has very different setting of ICS_C3.
d) Too low value of ICS_C3 will block the cpu.
e) This lock of CPU is not possible detect in any internal register.
I have used the ICS_C3 to calibrate comunication speed with master by UART.
It is necessary to proceed from HIGHER valus of ICS_C3 (higher value increase period of system clock). So I check the factory setting of ICS_C3 and start tunning with higher value.
I can set all series of MKE04 I have now.
Regards
Jaroslav