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

Static properties a backend reports about its medium. More...

#include <ra8_io_blockdev.h>

Data Fields

uint32_t block_count
 Total addressable logical blocks.
uint32_t erase_unit_blocks
 Erase granularity, in logical blocks.
uint32_t program_size_bytes
 Minimum program granularity in bytes.
uint16_t logical_block_bytes
 Logical block size (always 512).
uint8_t erase_value
 Post-erase byte (ra8_io_erase_value_t).
bool must_erase_before_write
 true => program needs a prior erase.
bool read_only
 true => writes/erases are rejected.

Detailed Description

Static properties a backend reports about its medium.

Queried with ra8_io_blockdev_get_caps after a backend is bound. The cache and filesystem use erase_unit_blocks, program_size_bytes, and must_erase_before_write to coalesce writes into erase-aligned units on flash media and to choose read-modify-write where the program granularity is coarser than one logical block.

Invariant
logical_block_bytes == k_ra8_io_block_size_bytes.
erase_unit_blocks >= 1.
erase_value is one of ra8_io_erase_value_t.
Since
0.1.0

Definition at line 129 of file ra8_io_blockdev.h.

Field Documentation

◆ block_count

◆ erase_unit_blocks

uint32_t ra8_io_blockdev_caps_t::erase_unit_blocks

◆ erase_value

◆ logical_block_bytes

uint16_t ra8_io_blockdev_caps_t::logical_block_bytes

◆ must_erase_before_write

bool ra8_io_blockdev_caps_t::must_erase_before_write

◆ program_size_bytes

uint32_t ra8_io_blockdev_caps_t::program_size_bytes

◆ read_only

bool ra8_io_blockdev_caps_t::read_only

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