RKTK API Docs RKTK Home Repo

rktk_drivers_rp/
flash.rs

1pub use embassy_sync;
2pub use rktk_drivers_common::storage::flash_sequential_map::FlashSequentialMapStorage;
3pub use rktk_drivers_common::storage::flash_sequential_map::sequential_storage;
4
5#[macro_export]
6macro_rules! init_storage {
7    ($storage:ident, $flash:expr, $dma:expr, $size:expr) => {
8        let flash = ::embassy_rp::flash::Flash::<_, _, $size>::new($flash, $dma);
9        let flash = $crate::flash::embassy_sync::mutex::Mutex::new(flash);
10        let cache = $crate::flash::embassy_sync::mutex::Mutex::new(
11            $crate::flash::sequential_storage::cache::NoCache::new(),
12        );
13
14        const FLASH_START: u32 = 1024 * 1024;
15        const FLASH_END: u32 = 3 * 1024 * 1024;
16
17        let $storage = $crate::flash::FlashSequentialMapStorage {
18            flash: &flash,
19            flash_range: FLASH_START..FLASH_END,
20            cache: &cache,
21        };
22    };
23}