ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_board_shared_ram_t Struct Reference

Runtime descriptor of the CPU0 <-> CPU1 shared window. More...

#include <ra8_board_ek_ra8d2_dualcore.h>

Data Fields

void * base
 Start of the shared window (k_ra8_board_shared_ram_base).
uint32_t size_bytes
 Its length in bytes, bounded by CPU1's private bank.
bool non_cacheable
 True when the boot MPU marks this window Normal non-cacheable, so a hand-off needs no clean or invalidate.

Detailed Description

Runtime descriptor of the CPU0 <-> CPU1 shared window.

What ra8_board_shared_ram fills in. An application carves its mailbox out of base rather than out of a literal it copied, and a memory-map change becomes one edit here plus a rebuild.

Invariant
base is non-NULL and size_bytes is non-zero after a successful ra8_board_shared_ram.
base and size_bytes describe a window no linker script allocates into.
volatile my_mailbox_t* mbox = (volatile my_mailbox_t*)win.base;
}
ra8_err_t ra8_board_shared_ram(ra8_board_shared_ram_t *out)
Describe the window where the M85 and the M33 meet.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
Definition ra8_err.h:119
Runtime descriptor of the CPU0 <-> CPU1 shared window.
void * base
Start of the shared window (k_ra8_board_shared_ram_base).
See also
ra8_board_shared_ram Fills this in.
ra8_board_dualcore_addr_t The compile-time form, for a static placement.
Since
0.1.0

Definition at line 155 of file ra8_board_ek_ra8d2_dualcore.h.

Field Documentation

◆ base

void* ra8_board_shared_ram_t::base

Start of the shared window (k_ra8_board_shared_ram_base).

Definition at line 156 of file ra8_board_ek_ra8d2_dualcore.h.

◆ non_cacheable

bool ra8_board_shared_ram_t::non_cacheable

True when the boot MPU marks this window Normal non-cacheable, so a hand-off needs no clean or invalidate.

False in a build without RA8_BOOT_ENABLE_CACHE_MPU – where the M85 D-cache is not enabled either, so nothing is stale, but the memory map itself makes no promise.

Definition at line 158 of file ra8_board_ek_ra8d2_dualcore.h.

◆ size_bytes

uint32_t ra8_board_shared_ram_t::size_bytes

Its length in bytes, bounded by CPU1's private bank.

Definition at line 157 of file ra8_board_ek_ra8d2_dualcore.h.


The documentation for this struct was generated from the following file: