KE04 Lockup reset

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KE04 Lockup reset

Jump to solution
3,185 Views
IlConte
Contributor IV

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?

0 Kudos
1 Solution
2,875 Views
jingpan
NXP TechSupport
NXP TechSupport

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

View solution in original post

8 Replies
2,875 Views
jaroslavbrazdil
Contributor I

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

0 Kudos
2,875 Views
IlConte
Contributor IV

How can I find the cause of lockup reset ?

0 Kudos
2,875 Views
jingpan
NXP TechSupport
NXP TechSupport

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

0 Kudos
2,875 Views
IlConte
Contributor IV

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+ ?

0 Kudos
2,875 Views
jingpan
NXP TechSupport
NXP TechSupport

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 

0 Kudos
2,875 Views
IlConte
Contributor IV

With this processor I believe I can't use MCUXpresso ! Only CodeWarrior :smileysad:

0 Kudos
2,876 Views
jingpan
NXP TechSupport
NXP TechSupport

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

2,869 Views
jaroslavbrazdil
Contributor I

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

 

 

0 Kudos