aboutsummaryrefslogtreecommitdiff
path: root/imxrt1010evk/examples/smoke.rs
diff options
context:
space:
mode:
authorIan McIntyre <me@mciantyre.dev>2025-11-30 19:56:39 -0500
committerIan McIntyre <me@mciantyre.dev>2025-11-30 19:56:39 -0500
commit635bee2d21704fd76d066be0f66ce2c70ebaacb7 (patch)
tree98cbf691f75a478b6e849fe8e1de641f50094d61 /imxrt1010evk/examples/smoke.rs
First commit
Diffstat (limited to 'imxrt1010evk/examples/smoke.rs')
-rw-r--r--imxrt1010evk/examples/smoke.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/imxrt1010evk/examples/smoke.rs b/imxrt1010evk/examples/smoke.rs
new file mode 100644
index 0000000..820d610
--- /dev/null
+++ b/imxrt1010evk/examples/smoke.rs
@@ -0,0 +1,36 @@
+#![no_main]
+#![no_std]
+
+use defmt_rtt as _;
+use imxrt1010evk::{self, Algorithm};
+use panic_probe as _;
+
+const LAST_SECTOR: usize = Algorithm::flash_size_bytes() - Algorithm::sector_size_bytes();
+
+#[imxrt_rt::entry]
+fn main() -> ! {
+ for _ in 0..5 {
+ let mut at25sf128 = Algorithm::initialize();
+
+ let mut sector = [0_u8; Algorithm::sector_size_bytes()];
+ at25sf128.flash_read(0x400, &mut sector[..4]);
+ let tag = u32::from_le_bytes(sector[..4].try_into().unwrap());
+ defmt::assert!(0x42464346 == tag, "{=u32:#010X}", tag);
+
+ at25sf128.flash_erase_sector(LAST_SECTOR + 256);
+
+ sector.fill(0);
+ at25sf128.flash_write(LAST_SECTOR, &sector);
+
+ sector.fill(u8::MAX);
+ at25sf128.flash_read(LAST_SECTOR, &mut sector);
+ defmt::assert!(sector.iter().all(|byte| *byte == 0));
+
+ at25sf128.flash_erase_sector(LAST_SECTOR + 123);
+
+ at25sf128.flash_read(LAST_SECTOR, &mut sector);
+ defmt::assert!(sector.iter().all(|byte| *byte == u8::MAX));
+ }
+ defmt::println!("Pass");
+ loop {}
+}