Skip to main content

esp_storage/
hardware.rs

1use esp_rom_sys as _;
2use esp_rom_sys::rom::spiflash::*;
3use procmacros::ram;
4
5use crate::maybe_with_critical_section;
6
7#[ram]
8pub(crate) fn spiflash_read(src_addr: u32, data: *const u32, len: u32) -> i32 {
9    maybe_with_critical_section(|| unsafe { esp_rom_spiflash_read(src_addr, data, len) })
10}
11
12#[ram]
13pub(crate) fn spiflash_unlock() -> i32 {
14    maybe_with_critical_section(|| unsafe { esp_rom_spiflash_unlock() })
15}
16
17#[ram]
18pub(crate) fn spiflash_erase_sector(sector_number: u32) -> i32 {
19    maybe_with_critical_section(|| unsafe { esp_rom_spiflash_erase_sector(sector_number) })
20}
21
22#[ram]
23pub(crate) fn spiflash_erase_block(block_number: u32) -> i32 {
24    maybe_with_critical_section(|| unsafe { esp_rom_spiflash_erase_block(block_number) })
25}
26
27#[ram]
28pub(crate) fn spiflash_write(dest_addr: u32, data: *const u32, len: u32) -> i32 {
29    maybe_with_critical_section(|| unsafe { esp_rom_spiflash_write(dest_addr, data, len) })
30}