From c09b14030613a74b74700106f81e9199b83da256 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Tue, 10 Mar 2020 16:41:48 +0800 Subject: [PATCH] examples: shell: use 32-bit timer csr Signed-off-by: Sean Cross --- examples/shell/src/timer.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/examples/shell/src/timer.rs b/examples/shell/src/timer.rs index b5bf550c8..84b7d4679 100644 --- a/examples/shell/src/timer.rs +++ b/examples/shell/src/timer.rs @@ -6,7 +6,7 @@ fn timer_tick(_irq_no: usize, _arg: *mut usize) { let ptr = TIMER_BASE as *mut usize; // acknowledge the timer - unsafe { ptr.add(15).write_volatile(1) }; + unsafe { ptr.add(6).write_volatile(1) }; } pub fn init() { @@ -34,37 +34,29 @@ pub fn init() { // Set EV_ENABLE let ptr = TIMER_BASE as *mut usize; - unsafe { ptr.add(16).write_volatile(1) }; + unsafe { ptr.add(7).write_volatile(1) }; } pub fn load(value: u32) { - let buf = value.to_le_bytes(); let ptr = TIMER_BASE as *mut usize; unsafe { - ptr.add(0).write_volatile(buf[0] as usize); - ptr.add(1).write_volatile(buf[1] as usize); - ptr.add(2).write_volatile(buf[2] as usize); - ptr.add(3).write_volatile(buf[3] as usize); + ptr.add(0).write_volatile(value as usize); } } pub fn reload(value: u32) { - let buf = value.to_le_bytes(); let ptr = TIMER_BASE as *mut usize; unsafe { - ptr.add(4).write_volatile(buf[0] as usize); - ptr.add(5).write_volatile(buf[1] as usize); - ptr.add(6).write_volatile(buf[2] as usize); - ptr.add(7).write_volatile(buf[3] as usize); + ptr.add(1).write_volatile(value as usize); } } pub fn en(en: bool) { let ptr = TIMER_BASE as *mut usize; if en { - unsafe { ptr.add(8).write_volatile(1) }; + unsafe { ptr.add(2).write_volatile(1) }; } else { - unsafe { ptr.add(8).write_volatile(0) }; + unsafe { ptr.add(2).write_volatile(0) }; } }