Configure the flash as read-only at boot

This commit is contained in:
Julien Cretin
2022-06-30 16:56:05 +02:00
parent 667c269552
commit 8549e2e436
3 changed files with 7 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/chips/nrf52/src/nvmc.rs b/chips/nrf52/src/nvmc.rs diff --git a/chips/nrf52/src/nvmc.rs b/chips/nrf52/src/nvmc.rs
index adbc2a2b5..7594ec867 100644 index adbc2a2b5..4092cf346 100644
--- a/chips/nrf52/src/nvmc.rs --- a/chips/nrf52/src/nvmc.rs
+++ b/chips/nrf52/src/nvmc.rs +++ b/chips/nrf52/src/nvmc.rs
@@ -3,15 +3,19 @@ @@ -3,15 +3,19 @@
@@ -68,7 +68,7 @@ index adbc2a2b5..7594ec867 100644
let word: u32 = (data[i + 0] as u32) << 0 let word: u32 = (data[i + 0] as u32) << 0
| (data[i + 1] as u32) << 8 | (data[i + 1] as u32) << 8
| (data[i + 2] as u32) << 16 | (data[i + 2] as u32) << 16
@@ -387,3 +399,236 @@ impl hil::flash::Flash for Nvmc { @@ -387,3 +399,237 @@ impl hil::flash::Flash for Nvmc {
self.erase_page(page_number) self.erase_page(page_number)
} }
} }
@@ -139,6 +139,7 @@ index adbc2a2b5..7594ec867 100644
+ apps: Grant<App>, + apps: Grant<App>,
+ deferred_caller: &'static DynamicDeferredCall, + deferred_caller: &'static DynamicDeferredCall,
+ ) -> SyscallDriver { + ) -> SyscallDriver {
+ nvmc.configure_readonly();
+ SyscallDriver { + SyscallDriver {
+ nvmc, + nvmc,
+ apps, + apps,

View File

@@ -156,7 +156,7 @@ index f7899d8c5..6956523c6 100644
hil::usb::CtrlSetupResult::ErrGeneric hil::usb::CtrlSetupResult::ErrGeneric
} }
diff --git a/capsules/src/usb/usbc_ctap_hid.rs b/capsules/src/usb/usbc_ctap_hid.rs diff --git a/capsules/src/usb/usbc_ctap_hid.rs b/capsules/src/usb/usbc_ctap_hid.rs
index 642039120..41d69752c 100644 index 642039120..adb7fde14 100644
--- a/capsules/src/usb/usbc_ctap_hid.rs --- a/capsules/src/usb/usbc_ctap_hid.rs
+++ b/capsules/src/usb/usbc_ctap_hid.rs +++ b/capsules/src/usb/usbc_ctap_hid.rs
@@ -44,21 +44,59 @@ static CTAP_REPORT_DESCRIPTOR: &'static [u8] = &[ @@ -44,21 +44,59 @@ static CTAP_REPORT_DESCRIPTOR: &'static [u8] = &[

View File

@@ -1,6 +1,6 @@
diff --git a/capsules/src/usb/app.rs b/capsules/src/usb/app.rs diff --git a/capsules/src/usb/app.rs b/capsules/src/usb/app.rs
new file mode 100644 new file mode 100644
index 000000000..28dff3575 index 000000000..c2f434f12
--- /dev/null --- /dev/null
+++ b/capsules/src/usb/app.rs +++ b/capsules/src/usb/app.rs
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
@@ -79,7 +79,7 @@ index 3f3a4f646..cb5e0af97 100644
pub mod descriptors; pub mod descriptors;
pub mod usb_ctap; pub mod usb_ctap;
diff --git a/capsules/src/usb/usb_ctap.rs b/capsules/src/usb/usb_ctap.rs diff --git a/capsules/src/usb/usb_ctap.rs b/capsules/src/usb/usb_ctap.rs
index da3d16d85..3a709aab5 100644 index da3d16d85..e8f1a87a4 100644
--- a/capsules/src/usb/usb_ctap.rs --- a/capsules/src/usb/usb_ctap.rs
+++ b/capsules/src/usb/usb_ctap.rs +++ b/capsules/src/usb/usb_ctap.rs
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
@@ -262,7 +262,7 @@ index da3d16d85..3a709aab5 100644
if !app.waiting { if !app.waiting {
// The call to receive_packet() collected a pending packet. // The call to receive_packet() collected a pending packet.
diff --git a/capsules/src/usb/usbc_ctap_hid.rs b/capsules/src/usb/usbc_ctap_hid.rs diff --git a/capsules/src/usb/usbc_ctap_hid.rs b/capsules/src/usb/usbc_ctap_hid.rs
index 41d69752c..cf17d7942 100644 index adb7fde14..f6762b4b9 100644
--- a/capsules/src/usb/usbc_ctap_hid.rs --- a/capsules/src/usb/usbc_ctap_hid.rs
+++ b/capsules/src/usb/usbc_ctap_hid.rs +++ b/capsules/src/usb/usbc_ctap_hid.rs
@@ -11,6 +11,7 @@ use super::descriptors::HIDSubordinateDescriptor; @@ -11,6 +11,7 @@ use super::descriptors::HIDSubordinateDescriptor;