|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Board-support layer for the Renesas RA8P1 (R7KA8P1KFLCAC) target board. More...
Go to the source code of this file.
Data Structures | |
| struct | ra8_board_info_t |
| Snapshot of board identity strings. More... | |
Typedefs | |
| typedef void(* | ra8_board_sw_irq_cb_t) (void *ctx) |
| Switch IRQ callback signature. | |
Enumerations | |
| enum | ra8_board_led_id_t : uint8_t { k_ra8_board_led1 = 0U , k_ra8_board_led2 = 1U , k_ra8_board_led3 = 2U , k_ra8_board_led_blue = k_ra8_board_led1 , k_ra8_board_led_green = k_ra8_board_led2 , k_ra8_board_led_red = k_ra8_board_led3 , k_ra8_board_led_count = 3U } |
| Identifiers for the three user LEDs on the RA8P1 foundation board. More... | |
| enum | ra8_board_sw_id_t : uint8_t { k_ra8_board_sw1 = 0U , k_ra8_board_sw2 = 1U , k_ra8_board_sw_count = 2U } |
| Identifiers for the on-board user push-buttons. More... | |
| enum | ra8_board_sw_irq_t : uint8_t { k_ra8_board_sw1_irq = 13U , k_ra8_board_sw2_irq = 12U } |
| Per-switch ICU IRQ channel numbers (provisional). More... | |
| enum | ra8_board_sw_state_t : uint8_t { k_ra8_board_sw_released = 0U , k_ra8_board_sw_pressed = 1U } |
| Logical "pressed" / "released" state of a user switch. More... | |
| enum | ra8_board_uart_t : uint8_t { k_ra8_board_uart_console = 0U } |
| Identifiers for board-routed UART consoles. More... | |
| enum | ra8_board_uart_sci_channel_t : uint8_t { k_ra8_board_uart_console_sci_channel = 8U } |
| SCI channel that backs k_ra8_board_uart_console (provisional). More... | |
| enum | ra8_board_uart_console_pin_t : uint16_t { k_ra8_board_uart_console_pin_txd , k_ra8_board_uart_console_pin_rxd , k_ra8_board_uart_console_pin_rts , k_ra8_board_uart_console_pin_cts } |
| Pin assignments for the debug VCOM console (provisional). More... | |
Functions | |
| ra8_err_t | ra8_board_get_info (ra8_board_info_t *out) |
| Copy the three board-identity strings into out. | |
| ra8_err_t | ra8_board_led_init (ra8_board_led_id_t led) |
| Configure led as a digital output, initial level low (off). | |
| ra8_err_t | ra8_board_led_on (ra8_board_led_id_t led) |
| Drive led HIGH (light it). | |
| ra8_err_t | ra8_board_led_off (ra8_board_led_id_t led) |
| Drive led LOW (extinguish it). | |
| ra8_err_t | ra8_board_led_toggle (ra8_board_led_id_t led) |
| Toggle led's output state. | |
| ra8_err_t | ra8_board_led_pin (ra8_board_led_id_t led, ra8_port_pin_t *out_pin) |
| Translate a board LED id into its underlying ra8_port_pin_t. | |
| ra8_err_t | ra8_board_sw_init (ra8_board_sw_id_t sw) |
| Configure a switch pin as an input with internal pull-up. | |
| ra8_err_t | ra8_board_sw_read (ra8_board_sw_id_t sw, ra8_board_sw_state_t *out_pressed) |
| Sample the current state of sw. | |
| ra8_err_t | ra8_board_sw_attach_irq (ra8_board_sw_id_t sw, ra8_board_sw_irq_cb_t cb, void *ctx) |
| Wire sw to the ICU and register a falling-edge callback. | |
| ra8_err_t | ra8_board_sw_pin (ra8_board_sw_id_t sw, ra8_port_pin_t *out_pin) |
| Translate a board switch id into its underlying ra8_port_pin_t. | |
| ra8_err_t | ra8_board_uart_console_init (uint32_t baud) |
| Configure SCI8 + PD02/PD03 as the debug-console UART. | |
| ra8_err_t | ra8_board_uart_console_write (const uint8_t *data, size_t len) |
| Polled blocking write to the debug VCOM console. | |
| ra8_err_t | ra8_board_uart_console_read (uint8_t *out, size_t cap, size_t *out_len) |
| Polled non-blocking read from the debug VCOM console. | |
| ra8_err_t | ra8_board_uart_console_flush (void) |
| Block until every byte queued on the console has clocked out. | |
Variables | |
| const char *const | k_ra8_board_name |
| Human-readable strings identifying this BSP target. | |
| const char *const | k_ra8_board_doc_rev |
| "R01UH1064EJ (chip HUM)". | |
| const char *const | k_ra8_board_mcu |
| "R7KA8P1KFLCAC". | |
Board-support layer for the Renesas RA8P1 (R7KA8P1KFLCAC) target board.
Focused board-support layer for the project's RA8P1 target board, the counterpart of libs/ra8_board_ek_ra8d2 for the RA8D2. It names the LEDs, user switches, and the debug UART console so application code can speak in board coordinates ("LED1", "SW1", "the console") instead of chip coordinates ("P600", "P009", "SCI8"). The public API is deliberately IDENTICAL to the EK-RA8D2 board's LED / switch / console surface so a foundation app is a pure board substitution (SOLID-L): only the #include changes, the calls do not.
This is a FOUNDATION board layer, not the full EK-RA8D2 connector zoo. It carries only the LED / switch / console pieces the RA8P1 foundation apps (examples/ra8p1_foundation) exercise and the first bring-up needs. The EK-RA8D2-specific expansion connectors (parallel-RGB J1, Arduino, Pmod, MikroBUS, OSPI/SDHI/audio/camera/Ethernet) are board wiring particular to that evaluation kit and are intentionally absent here; a future RA8P1 board grows its own connector map from its own schematic.
There is NO RA8P1 board in hand yet: the Renesas EK-RA8P1 User's Manual is not committed to docs/reference/ and the project's own RA8P1 PCB (ra8p1_kicad/) does not exist. The RA8P1 is pin-compatible with the RA8D2 in the same 289-pin BGA and register/pin-function-identical (see libs/ra8_core/inc/ra8_device.h and the RA8P1 HUM R01UH1064EJ), so the LED / switch / console pins below are PROVISIONALLY mirrored from the EK-RA8D2 layout: every pin is a valid GPIO / SCI alternate on the RA8P1 (chip HUM R01UH1064EJ Ch 20 "I/O Ports"). Each assignment carries a TODO(EK-RA8P1 UM / ra8p1_kicad) marker: the board-level "which LED sits on which pin" is a schematic decision that is re-derived, and re-cited to the board manual, once the RA8P1 board is defined and the first on-silicon bring-up runs. This layer builds and runs in ra8_emulator --device ra8p1 today; on-silicon validation is deferred to that board.
Underlying chip register access is delegated to libs/ra8_hal: the BSP itself does NO register pokes – it translates board names into the right ra8_port_pin_t / ra8_psel_t / ra8_icu_irq_cfg_t values and forwards to the HAL.
Definition in file ra8_board_ra8p1.h.
| typedef void(* ra8_board_sw_irq_cb_t) (void *ctx) |
Switch IRQ callback signature.
| [in,out] | ctx | Opaque context pointer passed at registration. |
Definition at line 355 of file ra8_board_ra8p1.h.
| enum ra8_board_led_id_t : uint8_t |
Identifiers for the three user LEDs on the RA8P1 foundation board.
PROVISIONAL pins mirrored from the EK-RA8D2 layout (P600 / P303 / PA07); all three are valid GPIO outputs on the pin-compatible RA8P1 (chip HUM R01UH1064EJ Ch 20 "I/O Ports"). All three are treated as active-high. TODO(EK-RA8P1 UM / ra8p1_kicad): confirm the LED-to-pin mapping and polarity against the RA8P1 board schematic once it exists.
Definition at line 147 of file ra8_board_ra8p1.h.
| enum ra8_board_sw_id_t : uint8_t |
Identifiers for the on-board user push-buttons.
PROVISIONAL pins mirrored from the EK-RA8D2 layout (SW1 -> P009, SW2 -> P008); both are valid IRQ-capable GPIO inputs on the pin-compatible RA8P1 (chip HUM R01UH1064EJ Ch 20 "I/O Ports"). Both are wired active-low. TODO(EK-RA8P1 UM / ra8p1_kicad): confirm the switch-to-pin mapping against the RA8P1 board schematic once it exists.
Definition at line 269 of file ra8_board_ra8p1.h.
| enum ra8_board_sw_irq_t : uint8_t |
Per-switch ICU IRQ channel numbers (provisional).
SW1 -> IRQ13, SW2 -> IRQ12, mirrored from the EK-RA8D2 layout. Values are bare IRQ channel numbers usable with ra8_icu_configure_irq_pin. TODO(EK-RA8P1 UM / ra8p1_kicad): re-confirm the IRQ channel per pin.
| Enumerator | |
|---|---|
| k_ra8_board_sw1_irq | SW1 -> IRQ13. TODO(EK-RA8P1 UM / ra8p1_kicad). |
| k_ra8_board_sw2_irq | SW2 -> IRQ12. TODO(EK-RA8P1 UM / ra8p1_kicad). |
Definition at line 287 of file ra8_board_ra8p1.h.
| enum ra8_board_sw_state_t : uint8_t |
Logical "pressed" / "released" state of a user switch.
| Enumerator | |
|---|---|
| k_ra8_board_sw_released | Button not held (pin high, active-low). |
| k_ra8_board_sw_pressed | Button held (pin low, active-low). |
Definition at line 299 of file ra8_board_ra8p1.h.
| enum ra8_board_uart_console_pin_t : uint16_t |
Pin assignments for the debug VCOM console (provisional).
PD02 (TXD) / PD03 (RXD) are the always-wired console lines; PD04 (RTS) / PD05 (CTS) are the optional hardware-flow-control lines. Chip-coordinate names: P1302 / P1303 / P1304 / P1305 (port 13, pins 2..5). Mirrored from the EK-RA8D2 layout. TODO(EK-RA8P1 UM / ra8p1_kicad): confirm.
Definition at line 460 of file ra8_board_ra8p1.h.
| enum ra8_board_uart_sci_channel_t : uint8_t |
SCI channel that backs k_ra8_board_uart_console (provisional).
Exposed as a typed enum (not a macro) so applications reference the channel without re-encoding the number. Provisional value 8 (SCI8), mirrored from the EK-RA8D2 console. TODO(EK-RA8P1 UM / ra8p1_kicad): confirm.
| Enumerator | |
|---|---|
| k_ra8_board_uart_console_sci_channel | PD02/PD03 -> SCI8 (provisional). |
Definition at line 443 of file ra8_board_ra8p1.h.
| enum ra8_board_uart_t : uint8_t |
Identifiers for board-routed UART consoles.
The RA8P1 foundation board exposes one debug console, provisionally routed exactly like the EK-RA8D2 J-Link OB VCOM bridge: PD02 (TXD) / PD03 (RXD) on SCI8. On the RA8P1 PD02/PD03 are the SCI8 TXD8/RXD8 alternate functions (chip HUM R01UH1064EJ Ch 20 "I/O Ports", Multiplexed Pin Function Selector). TODO(EK-RA8P1 UM / ra8p1_kicad): confirm the VCOM pins / SCI channel against the RA8P1 board schematic once it exists.
| Enumerator | |
|---|---|
| k_ra8_board_uart_console | Debug VCOM console: provisional PD02/PD03 on SCI8. |
Definition at line 427 of file ra8_board_ra8p1.h.
|
nodiscard |
Copy the three board-identity strings into out.
| [out] | out | Destination struct, must be non-NULL. |
| k_ra8_ok | Filled. |
| k_ra8_err_invalid_arg | out == NULL. |
| [out] | out | Destination struct, must be non-NULL. |
| k_ra8_ok | Filled. |
| k_ra8_err_invalid_arg | out == NULL. |
Definition at line 50 of file ra8_board_ek_ra8d2.c.
References ra8_board_info_t::doc_rev, k_ra8_board_doc_rev, k_ra8_board_mcu, k_ra8_board_name, k_ra8_err_invalid_arg, k_ra8_ok, ra8_board_info_t::mcu, and ra8_board_info_t::name.
|
nodiscard |
Configure led as a digital output, initial level low (off).
| [in] | led | LED identifier (< k_ra8_board_led_count). |
| k_ra8_ok | Pin claimed and driven low. |
| k_ra8_err_invalid_arg | led >= k_ra8_board_led_count. |
| k_ra8_err_gpio_conflict | Pin already owned. |
| k_ra8_ok | Pin claimed and driven low. |
| k_ra8_err_invalid_arg | led >= k_ra8_board_led_count. |
| k_ra8_err_gpio_conflict | Pin already owned. |
Definition at line 91 of file ra8_board_ek_ra8d2.c.
References k_ra8_level_low, k_ra8_ok, k_ra8_pin_none, pin, ra8_board_led_pin(), and ra8_gpio_output_init().
|
nodiscard |
Drive led LOW (extinguish it).
| [in] | led | LED identifier (< k_ra8_board_led_count). |
| k_ra8_ok | Output latch cleared. |
| k_ra8_err_invalid_arg | led out of range. |
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 111 of file ra8_board_ek_ra8d2.c.
References k_ra8_level_low, k_ra8_ok, k_ra8_pin_none, pin, ra8_board_led_pin(), and ra8_gpio_write().
|
nodiscard |
Drive led HIGH (light it).
| [in] | led | LED identifier (< k_ra8_board_led_count). |
| k_ra8_ok | Output latch set high. |
| k_ra8_err_invalid_arg | led out of range. |
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 101 of file ra8_board_ek_ra8d2.c.
References k_ra8_level_high, k_ra8_ok, k_ra8_pin_none, pin, ra8_board_led_pin(), and ra8_gpio_write().
|
nodiscard |
Translate a board LED id into its underlying ra8_port_pin_t.
| [in] | led | LED identifier (< k_ra8_board_led_count). |
| [out] | out_pin | Destination pin id; must be non-NULL. |
| k_ra8_ok | *out_pin holds the mapped pin. |
| k_ra8_err_invalid_arg | led out of range or out_pin NULL. |
| [in] | led | LED identifier. |
| [out] | out_pin | Destination pin id. |
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 79 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_led_count, k_ra8_err_invalid_arg, k_ra8_ok, and s_led_pins.
Referenced by ra8_board_led_init(), ra8_board_led_off(), ra8_board_led_on(), and ra8_board_led_toggle().
|
nodiscard |
Toggle led's output state.
| [in] | led | LED identifier (< k_ra8_board_led_count). |
| k_ra8_ok | Output latch inverted. |
| k_ra8_err_invalid_arg | led out of range. |
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 121 of file ra8_board_ek_ra8d2.c.
References k_ra8_ok, k_ra8_pin_none, pin, ra8_board_led_pin(), and ra8_gpio_toggle().
|
nodiscard |
Wire sw to the ICU and register a falling-edge callback.
Buttons are active-low so a falling edge corresponds to a press. The HAL handles the PFS routing, IRQCR programming, and NVIC enable; this veneer hides the specific channel number from the caller.
| [in] | sw | Switch id (< k_ra8_board_sw_count). |
| [in] | cb | Falling-edge callback; must be non-NULL. |
| [in,out] | ctx | Opaque context forwarded to cb; may be NULL. |
| k_ra8_ok | IRQ wired and callback registered. |
| k_ra8_err_invalid_arg | sw out of range or cb NULL. |
| k_ra8_err_gpio_conflict | Underlying pin/IRQ already owned. |
Buttons are active-low so a falling edge corresponds to a press. The HAL takes care of the PFS routing, IRQCR programming, and NVIC enable; this veneer just hides the specific channel number (UM Table 25) from the caller.
| k_ra8_ok | / k_ra8_err_invalid_arg / k_ra8_err_gpio_conflict |
Definition at line 196 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_sw1, k_ra8_board_sw_count, k_ra8_elc_event_icu_irq12, k_ra8_elc_event_icu_irq13, k_ra8_err_invalid_arg, k_ra8_icu_fclksel_pclkb, k_ra8_icu_irqmd_falling, k_ra8_isr_prio_default, k_ra8_ok, ra8_icu_configure_irq_pin(), ra8_isr_register(), and s_sw_irq_nums.
|
nodiscard |
Configure a switch pin as an input with internal pull-up.
| [in] | sw | Switch id (< k_ra8_board_sw_count). |
| k_ra8_ok | Pin configured as pulled-up input. |
| k_ra8_err_invalid_arg | sw out of range. |
| k_ra8_err_gpio_conflict | Pin already owned. |
| k_ra8_ok | / k_ra8_err_invalid_arg / k_ra8_err_gpio_conflict |
Definition at line 165 of file ra8_board_ek_ra8d2.c.
References k_ra8_ok, k_ra8_pin_none, k_ra8_pull_up, pin, ra8_board_sw_pin(), and ra8_gpio_input_init().
|
nodiscard |
Translate a board switch id into its underlying ra8_port_pin_t.
| [in] | sw | Switch id (< k_ra8_board_sw_count). |
| [out] | out_pin | Destination pin id; must be non-NULL. |
| k_ra8_ok | *out_pin holds the mapped pin. |
| k_ra8_err_invalid_arg | sw out of range or out_pin NULL. |
Definition at line 153 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_sw_count, k_ra8_err_invalid_arg, k_ra8_ok, and s_sw_pins.
Referenced by ra8_board_sw_init(), and ra8_board_sw_read().
|
nodiscard |
Sample the current state of sw.
The buttons are wired active-low (a press shorts the pin to GND); this function inverts the level so callers receive a positive "pressed = true" semantic.
| [in] | sw | Switch id (< k_ra8_board_sw_count). |
| [out] | out_pressed | Set to one of {released, pressed}; must be non-NULL. |
| k_ra8_ok | Read complete. |
| k_ra8_err_invalid_arg | sw out of range or out_pressed NULL. |
The buttons are wired active-low (press shorts the pin to GND); this function inverts the level so callers receive a positive "pressed = true" semantic.
| [in] | sw | Switch id. |
| [out] | out_pressed | Set to k_ra8_board_sw_pressed if held. |
| k_ra8_ok | Read complete. |
| k_ra8_err_invalid_arg | sw out of range or out_pressed NULL. |
Definition at line 175 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_sw_pressed, k_ra8_board_sw_released, k_ra8_err_invalid_arg, k_ra8_level_high, k_ra8_level_low, k_ra8_ok, k_ra8_pin_none, pin, ra8_board_sw_pin(), and ra8_gpio_read().
|
nodiscard |
Block until every byte queued on the console has clocked out.
Thin wrapper around ra8_sci_flush(k_ra8_board_uart_console_sci_channel) that polls the SCI8 transmit-complete status. Intended for a panic handler that must get its failure log to the host before WFI gates the SCI clock. The CSR.TEND register poke lives in ra8_sci_flush (HAL), which carries the HUM citation; this veneer touches no registers.
| k_ra8_ok | Transmit complete (or fake stub). |
| k_ra8_err_not_initialized | console_init not called. |
| k_ra8_err_hw_timeout | Spin budget elapsed without completion. |
Block until every byte queued on the console has clocked out.
Thin wrapper around ra8_sci_flush(k_ra8_board_uart_console_sci_channel) that polls CSR.TEND on the SCI8 channel that backs the J-Link OB VCOM bridge (HUM Ch 38.2.17 "CSR : Common Status Register", p 2225). The intended caller is a panic-handler that needs the failure log to reach the host before WFI gates the SCI clock and silently drops the remaining FIFO contents.
| k_ra8_ok | TEND observed (or fake stub). |
| k_ra8_err_not_initialized | ra8_board_uart_console_init not called. |
| k_ra8_err_hw_timeout | Spin budget elapsed without TEND. |
Definition at line 348 of file ra8_board_ek_ra8d2_comms.c.
References k_ra8_board_uart_console_sci_channel, k_ra8_err_not_initialized, ra8_sci_flush(), and s_uart_console_initialized.
|
nodiscard |
Configure SCI8 + PD02/PD03 as the debug-console UART.
Routes PD02 -> TXD8 and PD03 -> RXD8 (PSEL = SCI async) and brings SCI8 up via ra8_sci_init with 8N1 framing at the requested baud. The SCI module operating clock on the RA8P1 is PCLKA (byte-identical to the RA8D2 SCI_B); the BRR divisor is computed from the CURRENT PCLKA frequency reported by ra8_cgc_get_clock_hz, so callers MUST call ra8_cgc_init() before this.
| [in] | baud | Target line rate in bps (e.g. 115200); must be non-zero. |
| k_ra8_ok | Console up, ready to TX/RX. |
| k_ra8_err_invalid_arg | baud == 0. |
| k_ra8_err_not_initialized | CGC has not published a usable PCLKA yet. |
| k_ra8_err_gpio_conflict | PD02 or PD03 already owned. |
| k_ra8_err_hw_init_failed | Underlying ra8_sci_init failed. |
Routes PD02 -> TXD8 and PD03 -> RXD8 (PSEL = SCI async) and brings SCI8 up via ra8_sci_init with 8N1 framing at the requested baud. The SCI module operating clock on RA8D2 is PCLKA (chip HUM Ch 38.2 "SCI registers"); the BRR divisor is computed from the current PCLKA frequency reported by ra8_cgc_get_clock_hz, so callers must call ra8_cgc_init() before ra8_board_uart_console_init. Applications that retune CGC afterwards must additionally call ra8_sci_set_baud((uint8_t)k_ra8_board_uart_console_sci_channel, baud, new_pclka_hz) to recompute the divisor.
| [in] | baud | Target line rate in bps (e.g. 115200). |
| k_ra8_ok | Console up, ready to TX/RX. |
| k_ra8_err_invalid_arg | baud == 0. |
| k_ra8_err_not_initialized | ra8_cgc_init has not yet published a usable PCLKA value (chip still on MOCO / pre-PLL). |
| k_ra8_err_gpio_conflict | PD02 or PD03 already owned. |
| k_ra8_err_hw_init_failed | Underlying ra8_sci_init failed. |
Definition at line 240 of file ra8_board_ek_ra8d2_comms.c.
References k_ra8_board_uart_console_min_pclka_hz, k_ra8_board_uart_console_pin_rxd, k_ra8_board_uart_console_pin_txd, k_ra8_board_uart_console_sci_channel, k_ra8_clock_id_pclka, k_ra8_err_invalid_arg, k_ra8_err_not_initialized, k_ra8_ok, k_ra8_psel_sci_async, k_ra8_sci_data_8, k_ra8_sci_parity_none, k_ra8_sci_stop_1, ra8_cgc_get_clock_hz(), ra8_pfs_route_peripheral(), ra8_sci_init(), and s_uart_console_initialized.
|
nodiscard |
Polled non-blocking read from the debug VCOM console.
Drains up to cap bytes from SCI8 RDR while data is available. Stops (without error) the first time the SCI reports no byte so the call never blocks waiting for a silent host.
| [out] | out | Destination buffer (non-NULL when cap > 0). |
| [in] | cap | Capacity of out in bytes. |
| [out] | out_len | Number of bytes actually read; must be non-NULL. |
| k_ra8_ok | Read complete; *out_len in [0, cap]. |
| k_ra8_err_invalid_arg | out / out_len NULL with non-zero cap. |
| k_ra8_err_not_initialized | console_init not called. |
Polled non-blocking read from the debug VCOM console.
Drains up to cap bytes from SCI8 RDR while RDRF stays set. Stops (without error) the first time RDRF clears so the call never blocks waiting for a host that is silent.
| [out] | out | Destination buffer (non-NULL when cap > 0). |
| [in] | cap | Capacity of out in bytes. |
| [out] | out_len | Number of bytes actually read; non-NULL. |
| k_ra8_ok | Read complete; *out_len in [0, cap]. |
| k_ra8_err_invalid_arg | out / out_len NULL with non-zero cap. |
| k_ra8_err_not_initialized | Console not initialized. |
Definition at line 308 of file ra8_board_ek_ra8d2_comms.c.
References k_ra8_board_uart_console_sci_channel, k_ra8_err_invalid_arg, k_ra8_err_not_initialized, k_ra8_ok, ra8_sci_getc_polling(), and s_uart_console_initialized.
|
nodiscard |
Polled blocking write to the debug VCOM console.
| [in] | data | Bytes to transmit; must be non-NULL when len > 0. |
| [in] | len | Number of bytes in data. |
| k_ra8_ok | All bytes pushed to the SCI8 TDR (or len 0). |
| k_ra8_err_invalid_arg | data NULL with non-zero len. |
| k_ra8_err_not_initialized | console_init not called. |
Polled blocking write to the debug VCOM console.
| [in] | data | Bytes to transmit; must be non-NULL when len > 0. |
| [in] | len | Number of bytes in data. |
| k_ra8_ok | All bytes pushed to TDR. |
| k_ra8_err_invalid_arg | data NULL with non-zero len. |
| k_ra8_err_not_initialized | ra8_board_uart_console_init not called. |
Definition at line 294 of file ra8_board_ek_ra8d2_comms.c.
References k_ra8_board_uart_console_sci_channel, k_ra8_err_invalid_arg, k_ra8_err_not_initialized, k_ra8_ok, ra8_sci_write_polling(), and s_uart_console_initialized.
|
extern |
"R01UH1064EJ (chip HUM)".
"R01UH1064EJ (chip HUM)".
Definition at line 47 of file ra8_board_ek_ra8d2.c.
|
extern |
|
extern |
Human-readable strings identifying this BSP target.
Returned by ra8_board_get_info() so applications can log / verify the board they were built for. All three are ASCII string literals with permanent storage duration. "RA8P1 foundation board".
Returned by ra8_board_get_info() so applications can log / verify the board they were built for. All three are ASCII string literals with permanent storage duration. "EK-RA8D2 v1".
Definition at line 46 of file ra8_board_ek_ra8d2.c.