From 595ad1076984bcc12dd063071c6020d14ba72907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=A4nner?= Date: Fri, 22 Dec 2023 11:54:23 +0100 Subject: [PATCH] erase the whole flash at start of dfu --- embassy-boot/boot/src/firmware_updater/blocking.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/embassy-boot/boot/src/firmware_updater/blocking.rs b/embassy-boot/boot/src/firmware_updater/blocking.rs index 333d3577..ff8b5277 100644 --- a/embassy-boot/boot/src/firmware_updater/blocking.rs +++ b/embassy-boot/boot/src/firmware_updater/blocking.rs @@ -187,12 +187,12 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE> //assert!(data.len() >= DFU::ERASE_SIZE); self.state.verify_booted()?; - //self.dfu.erase(offset as u32, (offset + DFU::ERASE_SIZE) as u32)?; - - if self.dfu.write(offset as u32 + 0x00100000, data).is_err() { - panic!("range: {:?}", offset..offset+data.len()); + if offset == 0 { + self.dfu.erase(0, self.dfu.capacity() as u32)?; } + self.dfu.write(offset as u32, data)?; + Ok(()) }