Skip to content

esp-hal flash MVP tracking issue #6201

Description

@MabezDev

This is a tracking issue for the minimal stabilization of esp_hal::flash, the in-tree replacement for esp-storage. The minimal stable surface is:

  • Flash<'_, Blocking>, constructed with Flash::new(FLASH, Config)
  • apply_config, and inherent read, write, erase, capacity
  • Config, ConfigError, flash::Error
  • stable peripherals.FLASH
impl<'d> Flash<'d, Blocking> {
    pub fn new(flash: FLASH<'d>, config: Config) -> Result<Self, ConfigError>;

    pub fn apply_config(&mut self, config: &Config) -> Result<(), ConfigError>;

    #[ram]
    pub fn read(&mut self, offset: u32, data: &mut [u8]) -> Result<(), Error>;

    #[ram]
    pub fn write(&mut self, offset: u32, data: &[u8]) -> Result<(), Error>;

    #[ram]
    pub fn erase(&mut self, from: u32, to: u32) -> Result<(), Error>;

    pub fn capacity(&self) -> usize;
}

Encrypted access, the embedded-storage trait impls and chip_info ship but stay unstable.

To get here will require a few steps, tracked as sub-issues.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions