aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Melchior Jacobsen <[email protected]>2023-05-25 22:48:54 +0200
committerRasmus Melchior Jacobsen <[email protected]>2023-05-25 22:52:57 +0200
commit88543445d8414b94720654f1e5dba900e8a75cce (patch)
tree64cd7c45e91c3e655118cc927c889df9b06438e6
parent41a632a56c40d0ac522a8dcf20b95ed478dc41ea (diff)
Fix end address for assertion
-rw-r--r--embassy-stm32/src/flash/common.rs2
-rw-r--r--embassy-stm32/src/flash/f4.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/embassy-stm32/src/flash/common.rs b/embassy-stm32/src/flash/common.rs
index 400831e0a..c190eaf9a 100644
--- a/embassy-stm32/src/flash/common.rs
+++ b/embassy-stm32/src/flash/common.rs
@@ -91,7 +91,7 @@ pub(super) fn blocking_read(base: u32, size: u32, offset: u32, bytes: &mut [u8])
91 let start_address = base + offset; 91 let start_address = base + offset;
92 92
93 #[cfg(flash_f4)] 93 #[cfg(flash_f4)]
94 family::assert_not_corrupted_read(start_address + bytes.len()); 94 family::assert_not_corrupted_read(start_address + bytes.len() as u32);
95 95
96 let flash_data = unsafe { core::slice::from_raw_parts(start_address as *const u8, bytes.len()) }; 96 let flash_data = unsafe { core::slice::from_raw_parts(start_address as *const u8, bytes.len()) };
97 bytes.copy_from_slice(flash_data); 97 bytes.copy_from_slice(flash_data);
diff --git a/embassy-stm32/src/flash/f4.rs b/embassy-stm32/src/flash/f4.rs
index a43efc51b..2dd6d85fd 100644
--- a/embassy-stm32/src/flash/f4.rs
+++ b/embassy-stm32/src/flash/f4.rs
@@ -443,7 +443,7 @@ pub(crate) fn assert_not_corrupted_read(end_address: u32) {
443 const REVISION_3: u16 = 0x2001; 443 const REVISION_3: u16 = 0x2001;
444 444
445 #[allow(unused)] 445 #[allow(unused)]
446 let second_bank_read = get_flash_regions().last().unwrap().bank == FlashBank::Bank2 && end_address > FLASH_SIZE / 2; 446 let second_bank_read = get_flash_regions().last().unwrap().bank == FlashBank::Bank2 && end_address > (FLASH_SIZE / 2) as u32;
447 447
448 #[cfg(any( 448 #[cfg(any(
449 feature = "stm32f427ai", 449 feature = "stm32f427ai",
@@ -491,7 +491,7 @@ pub(crate) fn assert_not_corrupted_read(end_address: u32) {
491 feature = "stm32f439vg", 491 feature = "stm32f439vg",
492 feature = "stm32f439zg", 492 feature = "stm32f439zg",
493 ))] 493 ))]
494 if second_bank_read && unsafe { &&pac::DBGMCU.idcode().read().rev_id() < REVISION_3 && !pa12_is_output_pull_low() } 494 if second_bank_read && unsafe { pac::DBGMCU.idcode().read().rev_id() < REVISION_3 && !pa12_is_output_pull_low() }
495 { 495 {
496 panic!("Read corruption for stm32f42xxG and stm32f43xxG in dual bank mode when PA12 is in use for chips below revision 3, see errata 2.2.11"); 496 panic!("Read corruption for stm32f42xxG and stm32f43xxG in dual bank mode when PA12 is in use for chips below revision 3, see errata 2.2.11");
497 } 497 }