firmware for my Touchscreen E-Paper Input Module for Framework Laptop 16
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

at a3ff1f4e4e2aaec4a4c1ec5def91c21d36dc12f7 40 lines 889 B view raw
1use crate::syscall; 2use crate::syscall::SyscallNumber; 3 4#[repr(usize)] 5#[derive(Copy, Clone, Debug, Eq, PartialEq, strum::FromRepr)] 6#[cfg_attr(feature = "defmt", derive(defmt::Format))] 7pub enum FlashSyscall { 8 Erase = 0, 9 Program = 1, 10 EraseAndProgram = 2, 11} 12 13pub unsafe fn erase(start_addr: u32, len: u32) { 14 syscall!( 15 SyscallNumber::Flash, 16 in FlashSyscall::Erase, 17 in start_addr, 18 in len, 19 ); 20} 21 22pub unsafe fn program(start_addr: u32, data: &[u8]) { 23 syscall!( 24 SyscallNumber::Flash, 25 in FlashSyscall::Program, 26 in start_addr, 27 in data.len(), 28 in data.as_ptr(), 29 ); 30} 31 32pub unsafe fn erase_and_program(start_addr: u32, data: &[u8]) { 33 syscall!( 34 SyscallNumber::Flash, 35 in FlashSyscall::EraseAndProgram, 36 in start_addr, 37 in data.len(), 38 in data.as_ptr(), 39 ); 40}