aboutsummaryrefslogtreecommitdiff
path: root/embassy-boot
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-11-29 17:23:48 +0100
committerDario Nieuwenhuis <[email protected]>2023-11-29 17:26:33 +0100
commitc6989dfbca51787146f50270c671af9db434f577 (patch)
tree5974a8ec41c108d5208e4f68027b918d424a2046 /embassy-boot
parent384bad7bfaa1f2415baf2cd3b69ebf36dc0a02d7 (diff)
Remove nightly and unstable-traits features in preparation for 1.75.
Diffstat (limited to 'embassy-boot')
-rw-r--r--embassy-boot/boot/Cargo.toml6
-rw-r--r--embassy-boot/boot/src/firmware_updater/mod.rs2
-rw-r--r--embassy-boot/boot/src/lib.rs21
-rw-r--r--embassy-boot/boot/src/mem_flash.rs3
-rw-r--r--embassy-boot/boot/src/test_flash/blocking.rs1
-rw-r--r--embassy-boot/boot/src/test_flash/mod.rs2
-rw-r--r--embassy-boot/nrf/Cargo.toml7
-rw-r--r--embassy-boot/nrf/src/lib.rs5
-rw-r--r--embassy-boot/rp/Cargo.toml8
-rw-r--r--embassy-boot/rp/src/lib.rs5
-rw-r--r--embassy-boot/stm32/Cargo.toml19
-rw-r--r--embassy-boot/stm32/src/lib.rs5
12 files changed, 21 insertions, 63 deletions
diff --git a/embassy-boot/boot/Cargo.toml b/embassy-boot/boot/Cargo.toml
index 8e11db570..ee69bc268 100644
--- a/embassy-boot/boot/Cargo.toml
+++ b/embassy-boot/boot/Cargo.toml
@@ -25,12 +25,12 @@ features = ["defmt"]
25[dependencies] 25[dependencies]
26defmt = { version = "0.3", optional = true } 26defmt = { version = "0.3", optional = true }
27digest = "0.10" 27digest = "0.10"
28log = { version = "0.4", optional = true } 28log = { version = "0.4", optional = true }
29ed25519-dalek = { version = "1.0.1", default_features = false, features = ["u32_backend"], optional = true } 29ed25519-dalek = { version = "1.0.1", default_features = false, features = ["u32_backend"], optional = true }
30embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } 30embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" }
31embassy-sync = { version = "0.4.0", path = "../../embassy-sync" } 31embassy-sync = { version = "0.4.0", path = "../../embassy-sync" }
32embedded-storage = "0.3.0" 32embedded-storage = "0.3.0"
33embedded-storage-async = { version = "0.4.0", optional = true } 33embedded-storage-async = { version = "0.4.0" }
34salty = { git = "https://github.com/ycrypto/salty.git", rev = "a9f17911a5024698406b75c0fac56ab5ccf6a8c7", optional = true } 34salty = { git = "https://github.com/ycrypto/salty.git", rev = "a9f17911a5024698406b75c0fac56ab5ccf6a8c7", optional = true }
35signature = { version = "1.6.4", default-features = false } 35signature = { version = "1.6.4", default-features = false }
36 36
@@ -50,7 +50,5 @@ features = ["rand", "std", "u32_backend"]
50ed25519-dalek = ["dep:ed25519-dalek", "_verify"] 50ed25519-dalek = ["dep:ed25519-dalek", "_verify"]
51ed25519-salty = ["dep:salty", "_verify"] 51ed25519-salty = ["dep:salty", "_verify"]
52 52
53nightly = ["dep:embedded-storage-async", "embassy-embedded-hal/nightly"]
54
55#Internal features 53#Internal features
56_verify = [] 54_verify = []
diff --git a/embassy-boot/boot/src/firmware_updater/mod.rs b/embassy-boot/boot/src/firmware_updater/mod.rs
index 937ddcc69..4814786bf 100644
--- a/embassy-boot/boot/src/firmware_updater/mod.rs
+++ b/embassy-boot/boot/src/firmware_updater/mod.rs
@@ -1,8 +1,6 @@
1#[cfg(feature = "nightly")]
2mod asynch; 1mod asynch;
3mod blocking; 2mod blocking;
4 3
5#[cfg(feature = "nightly")]
6pub use asynch::{FirmwareState, FirmwareUpdater}; 4pub use asynch::{FirmwareState, FirmwareUpdater};
7pub use blocking::{BlockingFirmwareState, BlockingFirmwareUpdater}; 5pub use blocking::{BlockingFirmwareState, BlockingFirmwareUpdater};
8use embedded_storage::nor_flash::{NorFlashError, NorFlashErrorKind}; 6use embedded_storage::nor_flash::{NorFlashError, NorFlashErrorKind};
diff --git a/embassy-boot/boot/src/lib.rs b/embassy-boot/boot/src/lib.rs
index 9f0356375..9e70a4dca 100644
--- a/embassy-boot/boot/src/lib.rs
+++ b/embassy-boot/boot/src/lib.rs
@@ -1,6 +1,5 @@
1#![cfg_attr(feature = "nightly", feature(async_fn_in_trait))]
2#![cfg_attr(feature = "nightly", allow(stable_features, unknown_lints, async_fn_in_trait))]
3#![no_std] 1#![no_std]
2#![allow(async_fn_in_trait)]
4#![warn(missing_docs)] 3#![warn(missing_docs)]
5#![doc = include_str!("../README.md")] 4#![doc = include_str!("../README.md")]
6mod fmt; 5mod fmt;
@@ -18,10 +17,9 @@ mod test_flash;
18pub(crate) const STATE_ERASE_VALUE: u8 = 0xFF; 17pub(crate) const STATE_ERASE_VALUE: u8 = 0xFF;
19pub use boot_loader::{BootError, BootLoader, BootLoaderConfig}; 18pub use boot_loader::{BootError, BootLoader, BootLoaderConfig};
20pub use firmware_updater::{ 19pub use firmware_updater::{
21 BlockingFirmwareState, BlockingFirmwareUpdater, FirmwareUpdaterConfig, FirmwareUpdaterError, 20 BlockingFirmwareState, BlockingFirmwareUpdater, FirmwareState, FirmwareUpdater, FirmwareUpdaterConfig,
21 FirmwareUpdaterError,
22}; 22};
23#[cfg(feature = "nightly")]
24pub use firmware_updater::{FirmwareState, FirmwareUpdater};
25 23
26pub(crate) const BOOT_MAGIC: u8 = 0xD0; 24pub(crate) const BOOT_MAGIC: u8 = 0xD0;
27pub(crate) const SWAP_MAGIC: u8 = 0xF0; 25pub(crate) const SWAP_MAGIC: u8 = 0xF0;
@@ -57,7 +55,6 @@ mod tests {
57 #![allow(unused_imports)] 55 #![allow(unused_imports)]
58 56
59 use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; 57 use embedded_storage::nor_flash::{NorFlash, ReadNorFlash};
60 #[cfg(feature = "nightly")]
61 use embedded_storage_async::nor_flash::NorFlash as AsyncNorFlash; 58 use embedded_storage_async::nor_flash::NorFlash as AsyncNorFlash;
62 use futures::executor::block_on; 59 use futures::executor::block_on;
63 60
@@ -65,9 +62,7 @@ mod tests {
65 use crate::boot_loader::BootLoaderConfig; 62 use crate::boot_loader::BootLoaderConfig;
66 use crate::firmware_updater::FirmwareUpdaterConfig; 63 use crate::firmware_updater::FirmwareUpdaterConfig;
67 use crate::mem_flash::MemFlash; 64 use crate::mem_flash::MemFlash;
68 #[cfg(feature = "nightly")] 65 use crate::test_flash::{AsyncTestFlash, BlockingTestFlash};
69 use crate::test_flash::AsyncTestFlash;
70 use crate::test_flash::BlockingTestFlash;
71 66
72 /* 67 /*
73 #[test] 68 #[test]
@@ -105,7 +100,7 @@ mod tests {
105 } 100 }
106 101
107 #[test] 102 #[test]
108 #[cfg(all(feature = "nightly", not(feature = "_verify")))] 103 #[cfg(not(feature = "_verify"))]
109 fn test_swap_state() { 104 fn test_swap_state() {
110 const FIRMWARE_SIZE: usize = 57344; 105 const FIRMWARE_SIZE: usize = 57344;
111 let flash = AsyncTestFlash::new(BootLoaderConfig { 106 let flash = AsyncTestFlash::new(BootLoaderConfig {
@@ -183,7 +178,7 @@ mod tests {
183 } 178 }
184 179
185 #[test] 180 #[test]
186 #[cfg(all(feature = "nightly", not(feature = "_verify")))] 181 #[cfg(not(feature = "_verify"))]
187 fn test_swap_state_active_page_biggest() { 182 fn test_swap_state_active_page_biggest() {
188 const FIRMWARE_SIZE: usize = 12288; 183 const FIRMWARE_SIZE: usize = 12288;
189 let flash = AsyncTestFlash::new(BootLoaderConfig { 184 let flash = AsyncTestFlash::new(BootLoaderConfig {
@@ -228,7 +223,7 @@ mod tests {
228 } 223 }
229 224
230 #[test] 225 #[test]
231 #[cfg(all(feature = "nightly", not(feature = "_verify")))] 226 #[cfg(not(feature = "_verify"))]
232 fn test_swap_state_dfu_page_biggest() { 227 fn test_swap_state_dfu_page_biggest() {
233 const FIRMWARE_SIZE: usize = 12288; 228 const FIRMWARE_SIZE: usize = 12288;
234 let flash = AsyncTestFlash::new(BootLoaderConfig { 229 let flash = AsyncTestFlash::new(BootLoaderConfig {
@@ -272,7 +267,7 @@ mod tests {
272 } 267 }
273 268
274 #[test] 269 #[test]
275 #[cfg(all(feature = "nightly", feature = "_verify"))] 270 #[cfg(feature = "_verify")]
276 fn test_verify() { 271 fn test_verify() {
277 // The following key setup is based on: 272 // The following key setup is based on:
278 // https://docs.rs/ed25519-dalek/latest/ed25519_dalek/#example 273 // https://docs.rs/ed25519-dalek/latest/ed25519_dalek/#example
diff --git a/embassy-boot/boot/src/mem_flash.rs b/embassy-boot/boot/src/mem_flash.rs
index 2728e9720..40f352c8d 100644
--- a/embassy-boot/boot/src/mem_flash.rs
+++ b/embassy-boot/boot/src/mem_flash.rs
@@ -3,7 +3,6 @@
3use core::ops::{Bound, Range, RangeBounds}; 3use core::ops::{Bound, Range, RangeBounds};
4 4
5use embedded_storage::nor_flash::{ErrorType, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash}; 5use embedded_storage::nor_flash::{ErrorType, NorFlash, NorFlashError, NorFlashErrorKind, ReadNorFlash};
6#[cfg(feature = "nightly")]
7use embedded_storage_async::nor_flash::{NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash}; 6use embedded_storage_async::nor_flash::{NorFlash as AsyncNorFlash, ReadNorFlash as AsyncReadNorFlash};
8 7
9pub struct MemFlash<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> { 8pub struct MemFlash<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> {
@@ -141,7 +140,6 @@ impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> NorFla
141 } 140 }
142} 141}
143 142
144#[cfg(feature = "nightly")]
145impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> AsyncReadNorFlash 143impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> AsyncReadNorFlash
146 for MemFlash<SIZE, ERASE_SIZE, WRITE_SIZE> 144 for MemFlash<SIZE, ERASE_SIZE, WRITE_SIZE>
147{ 145{
@@ -156,7 +154,6 @@ impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> AsyncR
156 } 154 }
157} 155}
158 156
159#[cfg(feature = "nightly")]
160impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> AsyncNorFlash 157impl<const SIZE: usize, const ERASE_SIZE: usize, const WRITE_SIZE: usize> AsyncNorFlash
161 for MemFlash<SIZE, ERASE_SIZE, WRITE_SIZE> 158 for MemFlash<SIZE, ERASE_SIZE, WRITE_SIZE>
162{ 159{
diff --git a/embassy-boot/boot/src/test_flash/blocking.rs b/embassy-boot/boot/src/test_flash/blocking.rs
index ba33c9208..5ec476c65 100644
--- a/embassy-boot/boot/src/test_flash/blocking.rs
+++ b/embassy-boot/boot/src/test_flash/blocking.rs
@@ -51,7 +51,6 @@ where
51 } 51 }
52} 52}
53 53
54#[cfg(feature = "nightly")]
55impl<ACTIVE, DFU, STATE> BlockingTestFlash<ACTIVE, DFU, STATE> 54impl<ACTIVE, DFU, STATE> BlockingTestFlash<ACTIVE, DFU, STATE>
56where 55where
57 ACTIVE: NorFlash + embedded_storage_async::nor_flash::NorFlash, 56 ACTIVE: NorFlash + embedded_storage_async::nor_flash::NorFlash,
diff --git a/embassy-boot/boot/src/test_flash/mod.rs b/embassy-boot/boot/src/test_flash/mod.rs
index a0672322e..79b15a081 100644
--- a/embassy-boot/boot/src/test_flash/mod.rs
+++ b/embassy-boot/boot/src/test_flash/mod.rs
@@ -1,7 +1,5 @@
1#[cfg(feature = "nightly")]
2mod asynch; 1mod asynch;
3mod blocking; 2mod blocking;
4 3
5#[cfg(feature = "nightly")]
6pub(crate) use asynch::AsyncTestFlash; 4pub(crate) use asynch::AsyncTestFlash;
7pub(crate) use blocking::BlockingTestFlash; 5pub(crate) use blocking::BlockingTestFlash;
diff --git a/embassy-boot/nrf/Cargo.toml b/embassy-boot/nrf/Cargo.toml
index 72c27efa8..b16506315 100644
--- a/embassy-boot/nrf/Cargo.toml
+++ b/embassy-boot/nrf/Cargo.toml
@@ -22,7 +22,7 @@ embassy-boot = { path = "../boot", default-features = false }
22cortex-m = { version = "0.7.6" } 22cortex-m = { version = "0.7.6" }
23cortex-m-rt = { version = "0.7" } 23cortex-m-rt = { version = "0.7" }
24embedded-storage = "0.3.0" 24embedded-storage = "0.3.0"
25embedded-storage-async = { version = "0.4.0", optional = true } 25embedded-storage-async = { version = "0.4.0" }
26cfg-if = "1.0.0" 26cfg-if = "1.0.0"
27 27
28nrf-softdevice-mbr = { version = "0.1.0", git = "https://github.com/embassy-rs/nrf-softdevice.git", branch = "master", optional = true } 28nrf-softdevice-mbr = { version = "0.1.0", git = "https://github.com/embassy-rs/nrf-softdevice.git", branch = "master", optional = true }
@@ -36,8 +36,3 @@ defmt = [
36softdevice = [ 36softdevice = [
37 "nrf-softdevice-mbr", 37 "nrf-softdevice-mbr",
38] 38]
39nightly = [
40 "dep:embedded-storage-async",
41 "embassy-boot/nightly",
42 "embassy-nrf/nightly"
43]
diff --git a/embassy-boot/nrf/src/lib.rs b/embassy-boot/nrf/src/lib.rs
index b9d86eb17..5b20a93c6 100644
--- a/embassy-boot/nrf/src/lib.rs
+++ b/embassy-boot/nrf/src/lib.rs
@@ -4,10 +4,9 @@
4mod fmt; 4mod fmt;
5 5
6pub use embassy_boot::{ 6pub use embassy_boot::{
7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareUpdaterConfig, 7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareState, FirmwareUpdater,
8 FirmwareUpdaterConfig,
8}; 9};
9#[cfg(feature = "nightly")]
10pub use embassy_boot::{FirmwareState, FirmwareUpdater};
11use embassy_nrf::nvmc::PAGE_SIZE; 10use embassy_nrf::nvmc::PAGE_SIZE;
12use embassy_nrf::peripherals::WDT; 11use embassy_nrf::peripherals::WDT;
13use embassy_nrf::wdt; 12use embassy_nrf::wdt;
diff --git a/embassy-boot/rp/Cargo.toml b/embassy-boot/rp/Cargo.toml
index efa0ef8ab..7329ea574 100644
--- a/embassy-boot/rp/Cargo.toml
+++ b/embassy-boot/rp/Cargo.toml
@@ -25,7 +25,7 @@ embassy-time = { path = "../../embassy-time" }
25cortex-m = { version = "0.7.6" } 25cortex-m = { version = "0.7.6" }
26cortex-m-rt = { version = "0.7" } 26cortex-m-rt = { version = "0.7" }
27embedded-storage = "0.3.0" 27embedded-storage = "0.3.0"
28embedded-storage-async = { version = "0.4.0", optional = true } 28embedded-storage-async = { version = "0.4.0" }
29cfg-if = "1.0.0" 29cfg-if = "1.0.0"
30 30
31[features] 31[features]
@@ -40,12 +40,6 @@ log = [
40 "embassy-rp/log", 40 "embassy-rp/log",
41] 41]
42debug = ["defmt-rtt"] 42debug = ["defmt-rtt"]
43nightly = [
44 "dep:embedded-storage-async",
45 "embassy-boot/nightly",
46 "embassy-rp/nightly",
47 "embassy-time/nightly"
48]
49 43
50[profile.dev] 44[profile.dev]
51debug = 2 45debug = 2
diff --git a/embassy-boot/rp/src/lib.rs b/embassy-boot/rp/src/lib.rs
index 989e7521b..07a5b3f4d 100644
--- a/embassy-boot/rp/src/lib.rs
+++ b/embassy-boot/rp/src/lib.rs
@@ -4,10 +4,9 @@
4mod fmt; 4mod fmt;
5 5
6pub use embassy_boot::{ 6pub use embassy_boot::{
7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareUpdaterConfig, State, 7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareState, FirmwareUpdater,
8 FirmwareUpdaterConfig, State,
8}; 9};
9#[cfg(feature = "nightly")]
10pub use embassy_boot::{FirmwareState, FirmwareUpdater};
11use embassy_rp::flash::{Blocking, Flash, ERASE_SIZE}; 10use embassy_rp::flash::{Blocking, Flash, ERASE_SIZE};
12use embassy_rp::peripherals::{FLASH, WATCHDOG}; 11use embassy_rp::peripherals::{FLASH, WATCHDOG};
13use embassy_rp::watchdog::Watchdog; 12use embassy_rp::watchdog::Watchdog;
diff --git a/embassy-boot/stm32/Cargo.toml b/embassy-boot/stm32/Cargo.toml
index da3102776..a9f0e4f0e 100644
--- a/embassy-boot/stm32/Cargo.toml
+++ b/embassy-boot/stm32/Cargo.toml
@@ -24,26 +24,13 @@ embassy-boot = { path = "../boot", default-features = false }
24cortex-m = { version = "0.7.6" } 24cortex-m = { version = "0.7.6" }
25cortex-m-rt = { version = "0.7" } 25cortex-m-rt = { version = "0.7" }
26embedded-storage = "0.3.0" 26embedded-storage = "0.3.0"
27embedded-storage-async = { version = "0.4.0", optional = true } 27embedded-storage-async = { version = "0.4.0" }
28cfg-if = "1.0.0" 28cfg-if = "1.0.0"
29 29
30[features] 30[features]
31defmt = [ 31defmt = ["dep:defmt", "embassy-boot/defmt", "embassy-stm32/defmt"]
32 "dep:defmt", 32log = ["dep:log", "embassy-boot/log", "embassy-stm32/log"]
33 "embassy-boot/defmt",
34 "embassy-stm32/defmt",
35]
36log = [
37 "dep:log",
38 "embassy-boot/log",
39 "embassy-stm32/log",
40]
41debug = ["defmt-rtt"] 33debug = ["defmt-rtt"]
42nightly = [
43 "dep:embedded-storage-async",
44 "embassy-boot/nightly",
45 "embassy-stm32/nightly"
46]
47 34
48[profile.dev] 35[profile.dev]
49debug = 2 36debug = 2
diff --git a/embassy-boot/stm32/src/lib.rs b/embassy-boot/stm32/src/lib.rs
index c6350c495..c418cb262 100644
--- a/embassy-boot/stm32/src/lib.rs
+++ b/embassy-boot/stm32/src/lib.rs
@@ -4,10 +4,9 @@
4mod fmt; 4mod fmt;
5 5
6pub use embassy_boot::{ 6pub use embassy_boot::{
7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareUpdaterConfig, State, 7 AlignedBuffer, BlockingFirmwareState, BlockingFirmwareUpdater, BootLoaderConfig, FirmwareState, FirmwareUpdater,
8 FirmwareUpdaterConfig, State,
8}; 9};
9#[cfg(feature = "nightly")]
10pub use embassy_boot::{FirmwareState, FirmwareUpdater};
11use embedded_storage::nor_flash::NorFlash; 10use embedded_storage::nor_flash::NorFlash;
12 11
13/// A bootloader for STM32 devices. 12/// A bootloader for STM32 devices.