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

Caller-owned private state for an MRAM block device. More...

#include <ra8_io_blockdev_mram.h>

Data Fields

uintptr_t base
 First MRAM byte address of the window (private).
uint32_t block_count
 Number of 512-byte logical blocks (private).
bool read_only
 true => writes and erases are rejected (private).

Detailed Description

Caller-owned private state for an MRAM block device.

Zero-initialise (= {}) and pass to ra8_io_blockdev_mram_init, which validates the window, fills this state, and binds it into a ra8_io_blockdev_t. Treat the fields as private. This state must out-live every call made through the device.

Invariant
base is aligned to the MRAM erase-block size and lies inside the extra/data MRAM region.
block_count * k_ra8_io_block_size_bytes is a multiple of the MRAM erase-block size and the window does not overlap code MRAM.
Since
0.1.0

Definition at line 63 of file ra8_io_blockdev_mram.h.

Field Documentation

◆ base

uintptr_t ra8_io_blockdev_mram_state_t::base

First MRAM byte address of the window (private).

Definition at line 64 of file ra8_io_blockdev_mram.h.

Referenced by internal_mram_erase(), internal_mram_read(), internal_mram_write(), and ra8_io_blockdev_mram_init().

◆ block_count

uint32_t ra8_io_blockdev_mram_state_t::block_count

Number of 512-byte logical blocks (private).

Definition at line 65 of file ra8_io_blockdev_mram.h.

Referenced by internal_mram_bounds(), internal_mram_get_caps(), and ra8_io_blockdev_mram_init().

◆ read_only

bool ra8_io_blockdev_mram_state_t::read_only

true => writes and erases are rejected (private).

Definition at line 66 of file ra8_io_blockdev_mram.h.

Referenced by internal_mram_erase(), internal_mram_get_caps(), internal_mram_write(), and ra8_io_blockdev_mram_init().


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