Remove random delay from example, and move flash functions to allow using without embedded-storage in scope

This commit is contained in:
Mathias
2022-10-27 07:10:27 +02:00
parent 1669e39565
commit 3c6c382465
2 changed files with 74 additions and 54 deletions

View File

@ -6,7 +6,7 @@ use defmt::*;
use embassy_executor::Spawner;
use embassy_rp::flash::{ERASE_SIZE, FLASH_BASE};
use embassy_rp::peripherals::FLASH;
use embedded_storage::nor_flash::{NorFlash, ReadNorFlash};
use embassy_time::{Duration, Timer};
use {defmt_rtt as _, panic_probe as _};
const ADDR_OFFSET: u32 = 0x100000;
@ -17,6 +17,12 @@ async fn main(_spawner: Spawner) {
let p = embassy_rp::init(Default::default());
info!("Hello World!");
// add some delay to give an attached debug probe time to parse the
// defmt RTT header. Reading that header might touch flash memory, which
// interferes with flash write operations.
// https://github.com/knurling-rs/defmt/pull/683
Timer::after(Duration::from_millis(10)).await;
let mut flash = embassy_rp::flash::Flash::<_, FLASH_SIZE>::new(p.FLASH);
erase_write_sector(&mut flash, 0x00);