73[[gnu::weak, gnu::alias(
"Default_Handler")]]
void NMI_Handler(
void);
75[[gnu::weak, gnu::alias(
"Default_Handler")]]
void SVC_Handler(
void);
117#define RA8_IRQ_STUB(n) \
118 void IRQ##n##_Handler(void); \
119 [[gnu::weak]] void IRQ##n##_Handler(void) \
121 ra8_isr_dispatch((uint16_t)(n)); \
123 static_assert(1, "ra8_irq_stub_" #n)
126#define RA8_IRQ_STUB(n) \
127 void IRQ##n##_Handler(void); \
128 [[gnu::weak]] void IRQ##n##_Handler(void) {} \
129 static_assert(1, "ra8_irq_stub_" #n)
261[[gnu::section(
".vectors"), gnu::used]]
286#define
E(n) IRQ##n##_Handler
436 __asm__
volatile(
"wfi");
456typedef enum : uint32_t {
463#ifndef RA8_OFF_TARGET
466 __asm__
volatile(
"tst lr, #4 \n"
471 "b ra8_exception_report\n");
476 __asm__
volatile(
"tst lr, #4 \n"
481 "b ra8_exception_report\n");
486 __asm__
volatile(
"tst lr, #4 \n"
491 "b ra8_exception_report\n");
496 __asm__
volatile(
"tst lr, #4 \n"
501 "b ra8_exception_report\n");
511 __builtin_unreachable();
516 __builtin_unreachable();
521 __builtin_unreachable();
526 __builtin_unreachable();
538#ifndef RA8_OFF_TARGET
539 __asm__
volatile(
"bkpt #0");
541 __asm__
volatile(
"wfi");
void UsageFault_Handler(void)
Capture a UsageFault and transfer to the common exception reporter.
void HardFault_Handler(void)
Capture a HardFault and transfer to the common exception reporter.
void MemManage_Handler(void)
Capture a MemManage fault and transfer to the exception reporter.
void Default_Handler(void)
Catch-all handler for every exception slot nothing else claims.
void PendSV_Handler(void)
void NMI_Handler(void)
Cortex-M85 NMI handler (vector table slot 2).
void BusFault_Handler(void)
Capture a BusFault and transfer to the common exception reporter.
void SysTick_Handler(void)
Service the SysTick exception selected by the linked application.
void SecureFault_Handler(void)
Cortex-M85 SecureFault handler (vector table slot 7).
void DebugMon_Handler(void)
void Reset_Handler(void)
Enter the Secure e-reader image after processor reset.
#define RA8_IRQ_STUB(n)
RA8 IRQ STUB.
void ra8_isr_dispatch(uint16_t slot)
Invoke the handler stored in dispatch-table slot slot.
void SecureFault_Handler(void)
Cortex-M85 SecureFault handler (vector table slot 7).
uint32_t g_ra8_ls_stack_top
void SystemInit(void)
Earliest C code the image runs: bring the core up before RAM init.
const uint32_t g_ra8_vector_table_start[]
void UsageFault_Handler(void)
Capture a UsageFault and transfer to the common exception reporter.
void HardFault_Handler(void)
Capture a HardFault and transfer to the common exception reporter.
void MemManage_Handler(void)
Capture a MemManage fault and transfer to the exception reporter.
uint32_t g_ra8_ls_sidata
Source of .data in MRAM.
ra8_vector_exc_t
Exception numbers matching the Cortex-M vector table slots.
@ k_ra8_vector_hardfault
RA8 vector hardfault.
@ k_ra8_vector_usagefault
RA8 vector usagefault.
@ k_ra8_vector_busfault
RA8 vector busfault.
@ k_ra8_vector_memmanage
RA8 vector memmanage.
uint32_t g_ra8_ls_edata
End of .data in SRAM.
void PendSV_Handler(void)
uint32_t g_ra8_ls_sdata
Start of .data in SRAM.
uint32_t g_ra8_ls_sbss
Start of .bss in SRAM.
void BusFault_Handler(void)
Capture a BusFault and transfer to the common exception reporter.
void SysTick_Handler(void)
Service the SysTick exception selected by the linked application.
void(* exc_handler_t)(void)
@ k_ra8_irq_count
RA8 IRQ count.
void DebugMon_Handler(void)
void Reset_Handler(void)
Enter an EK-RA8D2 firmware image after processor reset.
uint32_t g_ra8_ls_ebss
End of .bss in SRAM.
void NMI_Handler(void)
Cortex-M85 NMI handler (vector table slot 2).
Boot entry points shared between a vector table and its startup code.
void main(void)
The application entry point Reset_Handler hands control to.
void ra8_exception_report(const ra8_exception_frame_t *frame, uint32_t exc_number)
Emit a full fault dump over the log backend.