diff options
| author | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 19:56:39 -0500 |
|---|---|---|
| committer | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 19:56:39 -0500 |
| commit | 635bee2d21704fd76d066be0f66ce2c70ebaacb7 (patch) | |
| tree | 98cbf691f75a478b6e849fe8e1de641f50094d61 /imxrt1040evk/examples | |
First commit
Diffstat (limited to 'imxrt1040evk/examples')
| -rw-r--r-- | imxrt1040evk/examples/smoke.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/imxrt1040evk/examples/smoke.rs b/imxrt1040evk/examples/smoke.rs new file mode 100644 index 0000000..3730125 --- /dev/null +++ b/imxrt1040evk/examples/smoke.rs @@ -0,0 +1,36 @@ +#![no_main] +#![no_std] + +use defmt_rtt as _; +use imxrt1040evk::{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 w25q64 = Algorithm::initialize(); + + let mut sector = [0_u8; Algorithm::sector_size_bytes()]; + w25q64.flash_read(0, &mut sector[..4]); + let tag = u32::from_le_bytes(sector[..4].try_into().unwrap()); + defmt::assert!(0x42464346 == tag, "{=u32:#010X}", tag); + + w25q64.flash_erase_sector(LAST_SECTOR + 256); + + sector.fill(0); + w25q64.flash_write(LAST_SECTOR, §or); + + sector.fill(u8::MAX); + w25q64.flash_read(LAST_SECTOR, &mut sector); + defmt::assert!(sector.iter().all(|byte| *byte == 0)); + + w25q64.flash_erase_sector(LAST_SECTOR + 123); + + w25q64.flash_read(LAST_SECTOR, &mut sector); + defmt::assert!(sector.iter().all(|byte| *byte == u8::MAX)); + } + defmt::println!("Pass"); + loop {} +} |
