ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_io_blockdev_mram.h
Go to the documentation of this file.
1
34
35#pragma once
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41#include <stdint.h>
42
43#include "ra8_err.h"
44#include "ra8_io_blockdev.h"
45
63typedef struct {
64 uintptr_t base;
65 uint32_t block_count;
66 bool read_only;
68
110 uintptr_t base_addr,
111 uint32_t block_count,
112 bool read_only);
113
114#ifdef __cplusplus
115}
116#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_io block-device fabric – one LBA vtable across every storage medium.
ra8_err_t ra8_io_blockdev_mram_init(ra8_io_blockdev_t *bd, ra8_io_blockdev_mram_state_t *state, uintptr_t base_addr, uint32_t block_count, bool read_only)
Bind a hard-fenced MRAM block-device backend into a caller handle.
Caller-owned private state for an MRAM block device.
uint32_t block_count
Number of 512-byte logical blocks (private).
uintptr_t base
First MRAM byte address of the window (private).
bool read_only
true => writes and erases are rejected (private).
Caller-allocated block-device handle binding a backend to its context.