|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Fixed-SRAM post-mortem snapshot of the most recent fault or NMI. More...
#include <ra8_exception.h>
Data Fields | |
| uint32_t | magic |
| k_ra8_exc_magic_valid when valid. | |
| uint32_t | exc_number |
| Architectural exception number. | |
| ra8_exception_frame_t | frame |
| Stacked GPR frame. | |
| ra8_exception_diagnostics_t | diag |
| SCB fault-status snapshot. | |
| uintptr_t | frame_ptr |
| Raw stack pointer at entry. | |
| uint32_t | nmisr |
| ICU NMISR cause (NMI path only). | |
Fixed-SRAM post-mortem snapshot of the most recent fault or NMI.
Populated unconditionally at the very top of ra8_exception_report() BEFORE any function call that might itself fault (logging, ITM access, etc.). A debugger can recover the original-fault PC, LR, SP, frame pointer, SCB diagnostics, and (for NMIs) the ICU NMISR cause from this struct even when the log backend is unavailable or causes a secondary fault.
Definition at line 135 of file ra8_exception.h.
| ra8_exception_diagnostics_t ra8_exception_last_t::diag |
SCB fault-status snapshot.
Definition at line 139 of file ra8_exception.h.
Referenced by fc_make_synth().
| uint32_t ra8_exception_last_t::exc_number |
Architectural exception number.
Definition at line 137 of file ra8_exception.h.
Referenced by fc_make_synth(), fc_print_record(), and main().
| ra8_exception_frame_t ra8_exception_last_t::frame |
Stacked GPR frame.
Definition at line 138 of file ra8_exception.h.
Referenced by fc_make_synth(), fc_print_record(), and main().
| uintptr_t ra8_exception_last_t::frame_ptr |
Raw stack pointer at entry.
Definition at line 140 of file ra8_exception.h.
| uint32_t ra8_exception_last_t::magic |
k_ra8_exc_magic_valid when valid.
Definition at line 136 of file ra8_exception.h.
Referenced by fc_make_synth().
| uint32_t ra8_exception_last_t::nmisr |
ICU NMISR cause (NMI path only).
Definition at line 141 of file ra8_exception.h.