aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb-dfu/src/bootloader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-usb-dfu/src/bootloader.rs')
-rw-r--r--embassy-usb-dfu/src/bootloader.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/embassy-usb-dfu/src/bootloader.rs b/embassy-usb-dfu/src/bootloader.rs
index 215058932..99384d961 100644
--- a/embassy-usb-dfu/src/bootloader.rs
+++ b/embassy-usb-dfu/src/bootloader.rs
@@ -1,4 +1,4 @@
1use embassy_boot::BlockingFirmwareUpdater; 1use embassy_boot::{AlignedBuffer, BlockingFirmwareUpdater};
2use embassy_usb::control::{InResponse, OutResponse, Recipient, RequestType}; 2use embassy_usb::control::{InResponse, OutResponse, Recipient, RequestType};
3use embassy_usb::driver::Driver; 3use embassy_usb::driver::Driver;
4use embassy_usb::{Builder, Handler}; 4use embassy_usb::{Builder, Handler};
@@ -56,8 +56,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash, const BLOCK_SIZE: usize> Handler for Co
56 self.offset = 0; 56 self.offset = 0;
57 } 57 }
58 58
59 let mut buf = [0; BLOCK_SIZE]; 59 let mut buf = AlignedBuffer([0; BLOCK_SIZE]);
60 buf[..data.len()].copy_from_slice(data); 60 buf.as_mut()[..data.len()].copy_from_slice(data);
61 61
62 if req.length == 0 { 62 if req.length == 0 {
63 match self.updater.mark_updated() { 63 match self.updater.mark_updated() {
@@ -85,7 +85,7 @@ impl<'d, DFU: NorFlash, STATE: NorFlash, const BLOCK_SIZE: usize> Handler for Co
85 self.state = State::Error; 85 self.state = State::Error;
86 return Some(OutResponse::Rejected); 86 return Some(OutResponse::Rejected);
87 } 87 }
88 match self.updater.write_firmware(self.offset, &buf[..]) { 88 match self.updater.write_firmware(self.offset, buf.as_ref()) {
89 Ok(_) => { 89 Ok(_) => {
90 self.status = Status::Ok; 90 self.status = Status::Ok;
91 self.state = State::DlSync; 91 self.state = State::DlSync;