1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
pub const BASE: usize = 0xfe000000; pub unsafe fn write(index: u8, value: u32) { write_aux(index, 0, value) } pub unsafe fn write_aux(index: u8, aux: u16, value: u32) { let addr = BASE + ((index as usize + ((aux as usize) << 8)) << 2); core::ptr::write_volatile(addr as *mut u32, value); } pub unsafe fn read(index: u8) -> u32 { read_aux(index, 0) } pub unsafe fn read_aux(index: u8, aux: u16) -> u32 { let addr = BASE + ((index as usize + ((aux as usize) << 8)) << 2); core::ptr::read_volatile(addr as *mut u32) }