Skip to content

ABD-01/hardfault-coredump-arm-cortex-m

Repository files navigation

Hardfault Diagnostics on ARM

Functionality Support:

  • Bare-Metal
  • FreeRTOS

Build & Run

make
make debug
make gdb
image

Sample Output:

Booting...
Build: [e1c08de:branch:memfault] - [ABD@DESKTOP-KQPPS1L] - Aug 24 2025 - 02:45:47
# [HardFault]

---Registers---
        r0: 0000006A        r1: 20001E3C        r2: 12345678
        r3: DEADBEEF        r4: 00000044        r5: 00000055
        r6: 00000066        r7: 20001DE8        r8: 00000088
        r9: 00000099       r10: 000000AA       r11: 000000BB
       r12: 080026E3        sp: 20001DC8        lr: 08002399
        pc: 080023C2      xPSR: 21000000
       psp: 00000000       msp: 20001C7C   primask: 00000001
   control: 00000000   basepri: 00000000 faultmask: 00000000

---Special Registers---
EXC_RETURN: FFFFFFF9
      ICSR: 00000803 (0000 0000 0000 0000 0000 1000 0000 0011)
      HFSR: 40000000 (0100 0000 0000 0000 0000 0000 0000 0000) // HFSR.FORCED: 1
      CFSR: 00008200 (0000 0000 0000 0000 1000 0010 0000 0000)
      BFAR: DEADBEEF

---Stack Dump---
0x20001DC0: ???????? ???????? 0000006A 20001E3C
0x20001DD0: 12345678 DEADBEEF 080026E3 08002399
0x20001DE0: 080023C2 21000000 00000080 0000006A
0x20001DF0: FFFFFFFF DEADBEEF 00000055 20001E00 
0x20001E00: 20001E38 0000002A 00000099 0000006A
0x20001E10: 20001E18 0800237B 20001E20 080019E9
0x20001E20: 20001E3C 00000001 00000008 00000000 
0x20001E30: 20001E38 08001C69 20000918 20001E7C
0x20001E40: 00000000 00000000 00000000 00000000
0x20001E50: 00000000 00000000 00000000 00000000 
0x20001E60: 00000000 00000000 00000000 00000000
0x20001E70: 00000000 00000000 00000000 006F6F66
0x20001E80: 00000000 00000000 00000000 00000000 
0x20001E90: 00000000 00000000 00000000 00000003
0x20001EA0: 00000001 0D000000 0000000D 00000010
0x20001EB0: 00000020 00000000 20001EC0 08001D01
0x20001EC0: 00000077 080006F1 00000011 00000022 
0x20001ED0: 00000033 00000044 00000055 00000066
0x20001EE0: 00000077 00000088 00000099 000000AA
0x20001EF0: 000000BB 000000CC 00000000 08003377 

---System Reset---

Using Memfault

make run MFLT=1
# or
make debug MFLT=1
make gdb

Sample Output:

Booting...
[INFO] MFLT: GNU Build ID: ca9b94f7deaaf23a42da024cdcdd8073fa47eaf4
[INFO] MFLT: S/N: QEMU9128222025
[INFO] MFLT: SW type: qemu-firmware
[INFO] MFLT: SW version: 1.0.0
[INFO] MFLT: HW version: dvt1
[INFO] MFLT: Memfault Initialized!
[INFO] MFLT: MC:SIkEgQlDT1JFAgYAA/wCFAABTAYAAWoGABk8HgAgeFY0Eu++rd5EBgABVQYAAWYGAAnoHQAgiAYAAZkGAAGqBgABuwYAHxOpAAjoHQAgPaI=:       
[INFO] MFLT: MC:wE0ACGaiAAgGAAkh6B0AIAgAAQwOAAEUBgApypuU996q8jpC2gJM3N2Ac/pH6vQKDgABBQYACzEuMC4wCw4AAQ0GABtxZW11LWZpcm13YXI=:       
[INFO] MFLT: MC:wJsBZQQOAAEEBgAJZHZ0MQcOAAEEBgABKAYAAQUOAAEECAAHlAAABg4AAQIKAAEBBgAJJO0A4BwQAAGCCgABQBAAB+++rd4IAAEBBgAJGO0=:       
[INFO] MFLT: MC:wOgBAOAMHgABAQYACQTgAOAQJgABAQYACQTtAOAIBgADAwgMAAEBBgAJ/O0A4AQOAAEBCAAH4QDgBA4AAQEIAAfiAOAEDgABAQgAB+MA4AQ=:       
[INFO] MFLT: MC:wLUCDgABAQgAB+QA4CBGAAEBBgAZ6B0AIBgBAADIHgAgagYAH/gdACDvvq3eAB4AIAAeACAIAAEqBgAJbB4AIGoGACkYHgAgH6IACCAeACA=:       
[INFO] MFLT: MC:wIIDEZQACDweACABBgABCA4AHzgeACCRlgAIEBIAIHweACB4AAVmb286AAEDBgABAQwABA0GAAEQBgABIA4AEcAeACAplwAIdwYACSUHAAg=:       
[INFO] MFLT: MC:gM8DEQYAASIGAAEzBgABRAYAAVUGAAFmBgABdwYAAYgGAAGZBgABqgYAAbsGAAHMDgAPp7UACERVTVAYAD8I:
[INFO] MFLT: MC:CAKnAgIDAQptcWVtdS1maXJtd2FyZQllMS4wLjAGZGR2dDELRsqblPfeqgSlARmUAAIaCACiZgMaCACiPQQYaQUB+0U=:
[INFO] MFLT: Coredump Storage Verification Passed
Build: [e1c08de:branch:memfault] - [ABD@DESKTOP-KQPPS1L] - Aug 24 2025 - 02:37:32

Files

References

Important ones are marked bold.

Reading

Fault Handling

ARM References

STM32F1xxxx

Debuggers

About

HardFault Diagnostics on Arm Cortex M3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages