EMBEDDED TOOLKIT

SYSTEMS R&D // DEV_TOOLS SUITE

Narzędzia (65)

cortex m hardfault decoder

SYSTEM ONLINE

ARM Cortex-M HardFault Decoder

Kiedy Twój procesor wchodzi w obsługę HardFault_Handler, zazwyczaj nie wiesz dlaczego. Aby się dowiedzieć, należy odczytać wartość rejestru CFSR (Configurable Fault Status Register) pod adresem 0xE000ED28. Wpisz poniżej jego wartość w formacie HEX, a analizator rozkoduje sprzętowe flagi błędu!

Rejestry Statusu Błędów (SCB)

Zawiera MMFSR, BFSR oraz UFSR spakowane w 32 bity.
Status nadrzędnego wyjątku HardFault.

UsageFault (UFSR)

  • [0] UNDEFINSTR - Undefined Instruction
  • [1] INVSTATE - Invalid State (np. próba użycia instrukcji ARM w trybie Thumb)
  • [2] INVPC - Invalid PC Load EXC_RETURN
  • [3] NOCP - No Coprocessor (Brak FPU a użyto instrukcji float)
  • [8] UNALIGNED - Unaligned Memory Access
  • [9] DIVBYZERO - Dzielenie przez zero!

BusFault (BFSR)

  • [0] IBUSERR - Instruction Bus Error
  • [1] PRECISERR - Precise Data Bus Error (Znamy dokładny adres usterki!)
  • [2] IMPRECISERR - Imprecise Data Bus Error (Zapis buforowany nie powiódł się w tle)
  • [3] UNSTKERR - Error unstacking for EXC_RETURN
  • [4] STKERR - Error stacking for exception entry
  • [7] BFARVALID - BusFault Address Register (BFAR) jest ważny! Odczytaj 0xE000ED38.

MemManage (MMFSR)

  • [0] IACCVIOL - Instruction access violation (Błąd MPU)
  • [1] DACCVIOL - Data access violation (Odmowa dostępu do RAM/Peryferiów MPU)
  • [3] MUNSTKERR - MemManage fault on unstacking
  • [4] MSTKERR - MemManage fault on stacking
  • [7] MMARVALID - MMFAR address register is valid! Odczytaj 0xE000ED34.

HardFault (HFSR)

  • [30] FORCED - Forced HardFault (wywołany przez eskalację innego błędu np. Usage/Bus)
  • [31] DEBUGEVT - HardFault triggered by Debug event

MODUŁ W BUDOWIE

PLANOWANE WDROŻENIE: Q4 2026