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(()) }