diff options
| author | Ulf Lilleengen <[email protected]> | 2023-08-03 20:56:04 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2023-08-06 19:46:53 +0200 |
| commit | a34331ae5fbf76a61bb2f65dbb13af4d34fcb176 (patch) | |
| tree | eddfa2b200b206923a91b9aae1474156c04e40fa /examples/boot/application/stm32f7/src | |
| parent | a40daa923ba031b543ce402f8bd83c2ec41329d8 (diff) | |
Refactor firmware updater
* Allow manipulating state without accessing DFU partition.
* Provide aligned buffer when creating updater to reduce potential wrong parameters passed.
Diffstat (limited to 'examples/boot/application/stm32f7/src')
| -rw-r--r-- | examples/boot/application/stm32f7/src/bin/a.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/examples/boot/application/stm32f7/src/bin/a.rs b/examples/boot/application/stm32f7/src/bin/a.rs index dea682a96..0c3819bed 100644 --- a/examples/boot/application/stm32f7/src/bin/a.rs +++ b/examples/boot/application/stm32f7/src/bin/a.rs | |||
| @@ -33,9 +33,9 @@ async fn main(_spawner: Spawner) { | |||
| 33 | led.set_high(); | 33 | led.set_high(); |
| 34 | 34 | ||
| 35 | let config = FirmwareUpdaterConfig::from_linkerfile_blocking(&flash); | 35 | let config = FirmwareUpdaterConfig::from_linkerfile_blocking(&flash); |
| 36 | let mut updater = BlockingFirmwareUpdater::new(config); | ||
| 37 | let mut magic = AlignedBuffer([0; WRITE_SIZE]); | 36 | let mut magic = AlignedBuffer([0; WRITE_SIZE]); |
| 38 | let writer = updater.prepare_update(magic.as_mut()).unwrap(); | 37 | let mut updater = BlockingFirmwareUpdater::new(config, &mut magic.0); |
| 38 | let writer = updater.prepare_update().unwrap(); | ||
| 39 | button.wait_for_rising_edge().await; | 39 | button.wait_for_rising_edge().await; |
| 40 | let mut offset = 0; | 40 | let mut offset = 0; |
| 41 | let mut buf = AlignedBuffer([0; 4096]); | 41 | let mut buf = AlignedBuffer([0; 4096]); |
| @@ -44,7 +44,7 @@ async fn main(_spawner: Spawner) { | |||
| 44 | writer.write(offset, buf.as_ref()).unwrap(); | 44 | writer.write(offset, buf.as_ref()).unwrap(); |
| 45 | offset += chunk.len() as u32; | 45 | offset += chunk.len() as u32; |
| 46 | } | 46 | } |
| 47 | updater.mark_updated(magic.as_mut()).unwrap(); | 47 | updater.mark_updated().unwrap(); |
| 48 | led.set_low(); | 48 | led.set_low(); |
| 49 | cortex_m::peripheral::SCB::sys_reset(); | 49 | cortex_m::peripheral::SCB::sys_reset(); |
| 50 | } | 50 | } |
