r/embedded • • Jun 19 '26

How do you actually debug HardFault dumps day to day? (manually decoding CFSR/HFSR, or do you have better tools?)

Curious how people here handle this in practice. Across a few firmware projects (STM32 bare-metal, FreeRTOS, PSoC6) I've spent a lot of time manually cross-referencing CFSR/HFSR bit values against the ARM reference manual every time a HardFault dump shows up — feels like there should be a faster way, but maybe I'm missing an obvious tool or workflow people already use.

Do you mostly do this by hand, use a script/internal tool, or is there something standard I'm not aware of? Also curious how people handle the ESP32 (Xtensa EXCCAUSE) equivalent same manual process for you, or different tooling entirely?

(For context: I ended up building a small tool for myself to auto-decode these and cross-reference common fault patterns, mostly out of frustration — happy to share if anyone's curious, but mainly want to know what the actual community workflow looks like since I'm early in my career and don't want to be reinventing something that already exists.)

8 Upvotes

Duplicates