61typedef enum : uint32_t {
67typedef enum : uint8_t {
75typedef enum : uint16_t {
108 __asm__
volatile(
"wfi");
145 buf[0] = (uint8_t)
'0';
156 for (uint32_t i = 0U; i < n; i++) {
157 buf[i] = tmp[n - 1U - i];
288 uint32_t cpuclk0_hz = 0U;
void main(void)
Secure fallback main entry point.
static const uint8_t k_adc_diag_crlf[]
adc_diag_const_t
Demo tunables.
@ k_adc_diag_period_ms
Delay between self-test cycles.
@ k_adc_diag_baud
SCI8 console baud.
static uint32_t adc_diag_u32_to_dec(uint8_t *buf, uint32_t val)
Serialise an unsigned 32-bit value into decimal ASCII.
static void adc_diag_write_i32(int32_t val)
Log one signed 32-bit value (leading minus for negatives).
static const uint8_t k_adc_diag_verdict_pass[]
static const uint8_t k_adc_diag_fail_sfx[]
static const uint8_t k_adc_diag_tsn_prefix[]
adc_diag_tsn_t
TSN factory-trim selection (Tj_max part).
@ k_adc_diag_stab_us
tTSTBL floor, HUM Figure 55.2 p 3502.
static const uint8_t k_adc_diag_verdict_fail[]
static const ra8_adc_selfdiag_mode_t k_adc_diag_modes[k_adc_diag_num_modes]
Ordered list of self-diagnosis modes to sweep each cycle.
static const uint8_t k_adc_diag_code_sep[]
static void adc_diag_write(const uint8_t *data, uint32_t len)
Write a byte span to the SCI8 console, discarding the status.
static void adc_diag_setup_or_halt(void)
Core bring-up: CGC -> MSTP -> TIME -> console + LED.
static void adc_diag_write_u32(uint32_t val)
Log one unsigned 32-bit value as decimal ASCII.
static const uint8_t k_adc_diag_vref_prefix[]
adc_diag_fmt_t
Formatting + iteration constants.
@ k_adc_diag_minus
ASCII minus for signed serialisation.
@ k_adc_diag_num_modes
Self-diagnosis modes 1/2/3.
@ k_adc_diag_dec_max
Max decimal digits for a uint32_t.
@ k_adc_diag_radix
Decimal serialiser radix.
static ra8_err_t adc_diag_arm(void)
Initialise the ADC16H and the temperature sensor.
static void adc_diag_emit_mode(uint8_t mode_num, uint16_t code, bool pass)
Emit one diag: mode=N code=CCCCC PASS|FAIL line.
static const uint8_t k_adc_diag_pass_sfx[]
static bool adc_diag_run_cycle(void)
Run one self-test cycle: 3 self-diagnosis modes + temp + Vref.
static const uint8_t k_adc_diag_mode_prefix[]
static void adc_diag_panic_halt(void)
Park forever after a fatal init error.
Full-featured ADC_B driver.
ra8_err_t ra8_adc_read_internal_channel(ra8_adc_internal_chan_t chan, uint16_t *out_raw)
Blocking single conversion of an internal / extended-analog channel.
@ k_ra8_adc_chan_int_ref_volt
Internal reference voltage.
ra8_err_t ra8_adc_self_diagnose(ra8_adc_selfdiag_mode_t mode, uint16_t *out_code, bool *out_pass)
Run an ADC_B built-in self-diagnosis pass on A/D unit 0.
ra8_err_t ra8_adc_init(void)
Legacy init – 14-bit right-aligned, software trigger.
ra8_adc_selfdiag_mode_t
ADC_B built-in self-diagnosis modes (HUM Ch 53.3.11 p 3411-3414).
@ k_ra8_adc_selfdiag_mode_3
Positive full-scale.
@ k_ra8_adc_selfdiag_mode_2
Negative full-scale.
@ k_ra8_adc_selfdiag_mode_1
Zero-differential reference.
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.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
NVIC + ICU IELSR allocator.
void ra8_isr_globals_enable(void)
Globally enable maskable interrupts (PRIMASK = 0).
Ref-counted Module Stop Control wrapper for the RA8D2.
ra8_err_t ra8_mstp_init(void)
Re-establish the ra8_mstp ref-count table from current hardware state.
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.
On-chip Temperature Sensor (TSN) driver.
ra8_err_t ra8_tsn_init(const ra8_tsn_config_t *cfg)
Power on the TSN block and enable its ADC output path.
@ k_ra8_tsn_cal_temp_high_125
125 degC Tj_max parts.
@ k_ra8_tsn_cal_temp_low_n40
Always -40 degC on RA8D2.
ra8_err_t ra8_tsn_read_die_temp_milli_c(int32_t *out_milli_c)
Read the die temperature end-to-end through the HAL.
Configuration descriptor for ra8_tsn_init.