Trait kernel::hil::flash::Flash

source ·
pub trait Flash {
    type Page: AsMut<[u8]> + Default;

    // Required methods
    fn read_page(
        &self,
        page_number: usize,
        buf: &'static mut Self::Page,
    ) -> Result<(), (ErrorCode, &'static mut Self::Page)>;
    fn write_page(
        &self,
        page_number: usize,
        buf: &'static mut Self::Page,
    ) -> Result<(), (ErrorCode, &'static mut Self::Page)>;
    fn erase_page(&self, page_number: usize) -> Result<(), ErrorCode>;
}
Expand description

A page of writable persistent flash memory.

Required Associated Types§

source

type Page: AsMut<[u8]> + Default

Type of a single flash page for the given implementation.

Required Methods§

source

fn read_page( &self, page_number: usize, buf: &'static mut Self::Page, ) -> Result<(), (ErrorCode, &'static mut Self::Page)>

Read a page of flash into the buffer.

source

fn write_page( &self, page_number: usize, buf: &'static mut Self::Page, ) -> Result<(), (ErrorCode, &'static mut Self::Page)>

Write a page of flash from the buffer.

source

fn erase_page(&self, page_number: usize) -> Result<(), ErrorCode>

Erase a page of flash by setting every byte to 0xFF.

Implementors§