KW41:How to print out CFSR and HFSR?

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

KW41:How to print out CFSR and HFSR?

1,855 Views
danieltseng
Contributor V

We use KW41's "SMAC connectivity test" as the base to develop the program.
Because the current self-written program crashes during execution.
I want to use HardFault to debug.
Just like the following URL that  read Register.

Developing a Generic Hard Fault handler for ARM Cortex-M3/Cortex-M4 - Sticky Bits - Powered by Feabh... 
How can I add programs to print out the CFSR and HFSR values?

Because HardFault_Handler () is an assembly code, I do n’t know where to start?

pastedImage_1.png

pastedImage_2.png

pastedImage_3.png

Labels (2)
0 Kudos
4 Replies

1,710 Views
danieltseng
Contributor V


Follow the previous link:

Developing a Generic Hard Fault handler for ARM Cortex-M3/Cortex-M4 - Sticky Bits - Powered by Feabh... 

Since Cortex-M0 will not have CFSR and HFSR registers, I will try Cortex-M33 instead.

I tried to use LPCX55S69-EVK, it is cortex-M33 with "divide by 0" detection.

I use "Led_blinky" example to implement "divide 0".

pastedImage_1.png
pastedImage_1.png

Set the breakpoint below, but never go in Hardfault_Handler(),always enter main's while (1)
pastedImage_2.png
I would like to ask how to enter Hardfault
0 Kudos

1,710 Views
danieltseng
Contributor V

If M0+ cannot print CFSR and HFSR, what register can be checked for debugging in M0+ ?

0 Kudos

1,710 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Daniel,

 

Fault handling in Cortex M0+ based MCUs is a bit different from Cortex M3/M4 cores. Most of the debug registers are not present on the KW41's core, as it is an ARM Cortex M0+.

 

The closest available registers could be the DFSR register, which contains some useful information about interrupts, debugging status and faults, but not as in-depth as the CFSR and HFSR registers on the other cores.

 

For more information about the bits available in the DFSR register, and to see if it would be useful for your purposes, could you please take a look at section C1.6.2 of the ARMv6 architecture Reference Manual, from ARM, here?

 

Please let me know if you need any further information.

 

Best regards,

Sebastian

0 Kudos

1,710 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Daniel, I hope you're doing well!

 

Unfortunately, it is not possible to print the CFSR or HFSR registers on the KW41Z, as they are not present on this MCU.

 

The KW41Z is based around an ARM Cortex M0+ core, and the available SCB registers for this MCU can be found in Chapter 4, tables 4-1 and 7-6 of the following ARM Technical Reference Document:

Please let me know if you still need to print the value for a different register other than the CFSR or the HFSR, or if you need any more information.

 

Best regards,

Sebastian

0 Kudos