diff options
| author | Rasmus Melchior Jacobsen <[email protected]> | 2023-05-24 12:45:59 +0200 |
|---|---|---|
| committer | Rasmus Melchior Jacobsen <[email protected]> | 2023-05-25 20:07:41 +0200 |
| commit | 34a2804b544206920b6e960e3443a2b2f6e41f2b (patch) | |
| tree | 153723a7d2a68ce047498c70653cc745ea68b3d2 /embassy-stm32/src/flash/mod.rs | |
| parent | cdb14475696484d08d717194074c4d85cff5eb63 (diff) | |
Fix unused get_sector and ensure_sector_aligned
Diffstat (limited to 'embassy-stm32/src/flash/mod.rs')
| -rw-r--r-- | embassy-stm32/src/flash/mod.rs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/embassy-stm32/src/flash/mod.rs b/embassy-stm32/src/flash/mod.rs index e781f1b86..1ef04e56f 100644 --- a/embassy-stm32/src/flash/mod.rs +++ b/embassy-stm32/src/flash/mod.rs | |||
| @@ -92,47 +92,3 @@ impl NorFlashError for Error { | |||
| 92 | } | 92 | } |
| 93 | } | 93 | } |
| 94 | } | 94 | } |
| 95 | |||
| 96 | pub(crate) fn get_sector(address: u32, regions: &[&FlashRegion]) -> FlashSector { | ||
| 97 | let mut current_bank = FlashBank::Bank1; | ||
| 98 | let mut bank_offset = 0; | ||
| 99 | for region in regions { | ||
| 100 | if region.bank != current_bank { | ||
| 101 | current_bank = region.bank; | ||
| 102 | bank_offset = 0; | ||
| 103 | } | ||
| 104 | |||
| 105 | if address < region.end() { | ||
| 106 | let index_in_region = (address - region.base) / region.erase_size; | ||
| 107 | return FlashSector { | ||
| 108 | bank: region.bank, | ||
| 109 | index_in_bank: bank_offset + index_in_region as u8, | ||
| 110 | start: region.base + index_in_region * region.erase_size, | ||
| 111 | size: region.erase_size, | ||
| 112 | }; | ||
| 113 | } | ||
| 114 | |||
| 115 | bank_offset += region.sectors(); | ||
| 116 | } | ||
| 117 | |||
| 118 | panic!("Flash sector not found"); | ||
| 119 | } | ||
| 120 | |||
| 121 | pub(crate) fn ensure_sector_aligned( | ||
| 122 | start_address: u32, | ||
| 123 | end_address: u32, | ||
| 124 | regions: &[&FlashRegion], | ||
| 125 | ) -> Result<(), Error> { | ||
| 126 | let mut address = start_address; | ||
| 127 | while address < end_address { | ||
| 128 | let sector = get_sector(address, regions); | ||
| 129 | if sector.start != address { | ||
| 130 | return Err(Error::Unaligned); | ||
| 131 | } | ||
| 132 | address += sector.size; | ||
| 133 | } | ||
| 134 | if address != end_address { | ||
| 135 | return Err(Error::Unaligned); | ||
| 136 | } | ||
| 137 | Ok(()) | ||
| 138 | } | ||
