|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
One snapshot of the Cortex-M85 SCB fault-status registers. More...
#include <ra8_scb.h>
Data Fields | |
| uint32_t | cfsr |
| Configurable Fault Status Register (MMFSR|BFSR|UFSR). | |
| uint32_t | hfsr |
| HardFault Status Register. | |
| uint32_t | dfsr |
| Debug Fault Status Register. | |
| uint32_t | mmfar |
| MemManage Fault Address Register (if CFSR.MMARVALID). | |
| uint32_t | bfar |
| BusFault Address Register (if CFSR.BFARVALID). | |
| uint32_t | afsr |
| Auxiliary Fault Status Register. | |
| uint32_t | sfsr |
| SecureFault Status Register (Secure-banked, RAZ NS). | |
| uint32_t | sfar |
| SecureFault Address Register (if SFSR.SFARVALID). | |
One snapshot of the Cortex-M85 SCB fault-status registers.
Mirrors the eight registers a fault decoder reads to attribute a HardFault / MemManage / BusFault / UsageFault / SecureFault. Every field is the verbatim 32-bit register value at the moment ra8_scb_read_fault_status ran; interpretation of the individual cause bits is left to the caller.
sfsr / sfar are the ARMv8-M Security Extension pair, banked to the Secure state: from the Secure world they carry the SecureFault cause bits (INVEP, INVTRAN, AUVIOL, ...) and the faulting address, from Non-secure they read as zero. bfar / mmfar / sfar are only meaningful when the matching "address valid" bit in cfsr / sfsr is set.
| uint32_t ra8_scb_fault_status_t::afsr |
Auxiliary Fault Status Register.
Definition at line 92 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::bfar |
BusFault Address Register (if CFSR.BFARVALID).
Definition at line 91 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::cfsr |
Configurable Fault Status Register (MMFSR|BFSR|UFSR).
Definition at line 87 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::dfsr |
Debug Fault Status Register.
Definition at line 89 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::hfsr |
HardFault Status Register.
Definition at line 88 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::mmfar |
MemManage Fault Address Register (if CFSR.MMARVALID).
Definition at line 90 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::sfar |
SecureFault Address Register (if SFSR.SFARVALID).
Definition at line 94 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().
| uint32_t ra8_scb_fault_status_t::sfsr |
SecureFault Status Register (Secure-banked, RAZ NS).
Definition at line 93 of file ra8_scb.h.
Referenced by ra8_exception_capture_diagnostics(), ra8_scb_read_fault_status(), and scb_demo_probe_and_report().