42typedef enum : uint32_t {
48typedef enum : uint16_t {
72 __asm__
volatile(
"wfi");
91 uint32_t cpuclk0_hz = 0U;
167 uint16_t counter = 0U;
void main(void)
Secure fallback main entry point.
static void internal_setup_or_halt(void)
Bring up clocks, MSTP, delay timing, and the board console.
static void internal_panic_halt(void)
Park the core after an unrecoverable ADC demo failure.
static bool internal_in_window(uint16_t counter)
Decide whether the live counter sits inside the legal window.
iwdt_demo_window_t
Window bounds in 14-bit IWDTSR.CNTVAL units (HUM 28.2.2).
@ k_iwdt_demo_window_low
Refresh-permitted lower bound.
@ k_iwdt_demo_window_high
Refresh-permitted upper bound.
static const uint8_t s_iwdt_demo_msg_refresh[]
iwdt_demo_const_t
Demo tunables.
@ k_iwdt_demo_poll_ms
Iwdt demo poll ms.
@ k_iwdt_demo_baud
Iwdt demo baud.
static const uint8_t s_iwdt_demo_msg_boot[]
Annotation-attribute framework macros for ra8-firmware.
#define RA8_INTERNAL
Marker that a function is intended to be static (file-local).
Board-support layer for the Renesas EK-RA8D2 v1 evaluation kit.
ra8_err_t ra8_board_led_toggle(ra8_board_led_id_t led)
Toggle led's output state.
ra8_err_t ra8_board_led_init(ra8_board_led_id_t led)
Configure led as a digital output, initial level low (off).
@ k_ra8_board_led1
LED1, BLUE, P600 (jumper E27).
ra8_err_t ra8_board_uart_console_write(const uint8_t *data, size_t len)
Polled blocking write to the J-Link OB VCOM console.
ra8_err_t ra8_board_uart_console_init(uint32_t baud)
Configure SCI8 + PD02/PD03 as the debug-console UART.
Boot entry points shared between a vector table and its startup code.
High-level Clock Generation Circuit driver.
ra8_err_t ra8_cgc_get_clock_hz(ra8_clock_id_t id, uint32_t *out_hz)
Query the current frequency of a clock-tree domain.
@ k_ra8_clock_id_cpuclk0
Cortex-M85 CPUCLK0.
ra8_err_t ra8_cgc_init(void)
Configure the clock tree to a safe default.
Error Code Definitions for ra8-firmware.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
NVIC + ICU IELSR allocator.
void ra8_isr_globals_enable(void)
Globally enable maskable interrupts (PRIMASK = 0).
Independent Watchdog driver header.
ra8_err_t ra8_iwdt_init(void)
Initialise the IWDT driver layer.
ra8_err_t ra8_iwdt_get_counter(uint16_t *out_counter)
Read the live 14-bit IWDT down-counter (CNTVAL).
void ra8_iwdt_refresh_deferred(void)
Refresh the IWDT counter via a wrapper function.
ra8_err_t ra8_iwdt_clear_status(void)
Clear the underflow / refresh-error flags via IWDTSR write.
SysTick-based tick counter, delay and timestamp helpers.
ra8_err_t ra8_time_init(uint32_t cpu_hz)
Initialise SysTick for a 1 kHz tick interrupt.
void ra8_delay_ms(uint32_t ms)
Busy-wait for at least ms milliseconds.