diff options
| author | Ulf Lilleengen <[email protected]> | 2025-12-08 11:28:54 +0100 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2025-12-08 11:30:42 +0100 |
| commit | 31543f38ec05965b0903c7da0854b375ac6a3d1c (patch) | |
| tree | bece0a63ecef580e184def47b904b1bf157e0033 /examples/boot/application/nrf/src | |
| parent | 2a54a3b93f38569a0a7aa585e75d6939a1726cce (diff) | |
feat: add support for nrf54 to embassy-boot examples
Diffstat (limited to 'examples/boot/application/nrf/src')
| -rw-r--r-- | examples/boot/application/nrf/src/bin/a.rs | 13 | ||||
| -rw-r--r-- | examples/boot/application/nrf/src/bin/b.rs | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/examples/boot/application/nrf/src/bin/a.rs b/examples/boot/application/nrf/src/bin/a.rs index 2c1d1a7bb..f317414fc 100644 --- a/examples/boot/application/nrf/src/bin/a.rs +++ b/examples/boot/application/nrf/src/bin/a.rs | |||
| @@ -27,6 +27,11 @@ async fn main(_spawner: Spawner) { | |||
| 27 | let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); | 27 | let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); |
| 28 | let mut led_reverted = Output::new(p.P0_14, Level::High, OutputDrive::Standard); | 28 | let mut led_reverted = Output::new(p.P0_14, Level::High, OutputDrive::Standard); |
| 29 | 29 | ||
| 30 | // nRF54 DK | ||
| 31 | // let mut button = Input::new(p.P1_13, Pull::Up); | ||
| 32 | // let mut led = Output::new(p.P1_14, Level::Low, OutputDrive::Standard); | ||
| 33 | // let mut led_reverted = Output::new(p.P2_09, Level::High, OutputDrive::Standard); | ||
| 34 | |||
| 30 | //let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); | 35 | //let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); |
| 31 | //let mut button = Input::new(p.P1_02, Pull::Up); | 36 | //let mut button = Input::new(p.P1_02, Pull::Up); |
| 32 | 37 | ||
| @@ -40,8 +45,8 @@ async fn main(_spawner: Spawner) { | |||
| 40 | // the watchdog will cause the device to reset as per its configured timeout in the bootloader. | 45 | // the watchdog will cause the device to reset as per its configured timeout in the bootloader. |
| 41 | // This helps is avoid a situation where new firmware might be bad and block our executor. | 46 | // This helps is avoid a situation where new firmware might be bad and block our executor. |
| 42 | // If firmware is bad in this way then the bootloader will revert to any previous version. | 47 | // If firmware is bad in this way then the bootloader will revert to any previous version. |
| 43 | let wdt_config = wdt::Config::try_new(&p.WDT).unwrap(); | 48 | let wdt_config = wdt::Config::try_new(&p.WDT0).unwrap(); |
| 44 | let (_wdt, [_wdt_handle]) = match Watchdog::try_new(p.WDT, wdt_config) { | 49 | let (_wdt, [_wdt_handle]) = match Watchdog::try_new(p.WDT0, wdt_config) { |
| 45 | Ok(x) => x, | 50 | Ok(x) => x, |
| 46 | Err(_) => { | 51 | Err(_) => { |
| 47 | // Watchdog already active with the wrong number of handles, waiting for it to timeout... | 52 | // Watchdog already active with the wrong number of handles, waiting for it to timeout... |
| @@ -51,11 +56,13 @@ async fn main(_spawner: Spawner) { | |||
| 51 | } | 56 | } |
| 52 | }; | 57 | }; |
| 53 | 58 | ||
| 59 | // RRAMC for nRF54 | ||
| 60 | // let nvmc = Nvmc::new(p.RRAMC); | ||
| 54 | let nvmc = Nvmc::new(p.NVMC); | 61 | let nvmc = Nvmc::new(p.NVMC); |
| 55 | let nvmc = Mutex::new(BlockingAsync::new(nvmc)); | 62 | let nvmc = Mutex::new(BlockingAsync::new(nvmc)); |
| 56 | 63 | ||
| 57 | let config = FirmwareUpdaterConfig::from_linkerfile(&nvmc, &nvmc); | 64 | let config = FirmwareUpdaterConfig::from_linkerfile(&nvmc, &nvmc); |
| 58 | let mut magic = [0; 4]; | 65 | let mut magic = [0; 16]; |
| 59 | let mut updater = FirmwareUpdater::new(config, &mut magic); | 66 | let mut updater = FirmwareUpdater::new(config, &mut magic); |
| 60 | let state = updater.get_state().await.unwrap(); | 67 | let state = updater.get_state().await.unwrap(); |
| 61 | if state == State::Revert { | 68 | if state == State::Revert { |
diff --git a/examples/boot/application/nrf/src/bin/b.rs b/examples/boot/application/nrf/src/bin/b.rs index de97b6a22..7ed78ea85 100644 --- a/examples/boot/application/nrf/src/bin/b.rs +++ b/examples/boot/application/nrf/src/bin/b.rs | |||
| @@ -15,6 +15,8 @@ async fn main(_spawner: Spawner) { | |||
| 15 | 15 | ||
| 16 | // nRF91 DK | 16 | // nRF91 DK |
| 17 | // let mut led = Output::new(p.P0_02, Level::Low, OutputDrive::Standard); | 17 | // let mut led = Output::new(p.P0_02, Level::Low, OutputDrive::Standard); |
| 18 | // nrf54l15 dk | ||
| 19 | // let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); | ||
| 18 | 20 | ||
| 19 | loop { | 21 | loop { |
| 20 | led.set_high(); | 22 | led.set_high(); |
