aboutsummaryrefslogtreecommitdiff
path: root/embassy-boot/boot/src/boot_loader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-boot/boot/src/boot_loader.rs')
-rw-r--r--embassy-boot/boot/src/boot_loader.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/embassy-boot/boot/src/boot_loader.rs b/embassy-boot/boot/src/boot_loader.rs
index 37fff621a..25f81009e 100644
--- a/embassy-boot/boot/src/boot_loader.rs
+++ b/embassy-boot/boot/src/boot_loader.rs
@@ -56,9 +56,9 @@ trait FlashConfigEx {
56} 56}
57 57
58impl<T: FlashConfig> FlashConfigEx for T { 58impl<T: FlashConfig> FlashConfigEx for T {
59 /// Get the page size which is the "unit of operation" within the bootloader.
59 fn page_size() -> usize { 60 fn page_size() -> usize {
60 assert_eq!(T::ACTIVE::ERASE_SIZE, T::DFU::ERASE_SIZE); 61 core::cmp::max(T::ACTIVE::ERASE_SIZE, T::DFU::ERASE_SIZE)
61 T::ACTIVE::ERASE_SIZE
62 } 62 }
63} 63}
64 64
@@ -182,6 +182,8 @@ impl BootLoader {
182 assert_eq!(0, P::page_size() % aligned_buf.len()); 182 assert_eq!(0, P::page_size() % aligned_buf.len());
183 assert_eq!(0, P::page_size() % P::ACTIVE::WRITE_SIZE); 183 assert_eq!(0, P::page_size() % P::ACTIVE::WRITE_SIZE);
184 assert_eq!(0, P::page_size() % P::DFU::WRITE_SIZE); 184 assert_eq!(0, P::page_size() % P::DFU::WRITE_SIZE);
185 assert_eq!(0, P::page_size() % P::ACTIVE::ERASE_SIZE);
186 assert_eq!(0, P::page_size() % P::DFU::ERASE_SIZE);
185 assert!(aligned_buf.len() >= P::STATE::WRITE_SIZE); 187 assert!(aligned_buf.len() >= P::STATE::WRITE_SIZE);
186 assert_partitions(self.active, self.dfu, self.state, P::page_size(), P::STATE::WRITE_SIZE); 188 assert_partitions(self.active, self.dfu, self.state, P::page_size(), P::STATE::WRITE_SIZE);
187 189