CM3: remove unneeded file ser_cm3.c.
[bertos.git] / bertos / cpu / cortex-m3 / drv / timer_lm3s.c
index 2d6ee89ac554519d29e6a5455a6da83548ee0235..49b9fa8ec2e6ff373034424b40b669735350ab08 100644 (file)
 
 #include <cfg/debug.h>
 #include <cpu/irq.h>
-#include "io/lm3s.h"
-
-#include "irq_lm3s.h"
+#include <io/lm3s.h>
+#include <drv/irq_cm3.h>
 #include "timer_lm3s.h"
 
-unsigned long ticks;
-
 INLINE void timer_hw_setPeriod(unsigned long period)
 {
        ASSERT(period < (1 << 24));
-       HWREG(NVIC_ST_RELOAD) = period;
-}
-
-static void timer_hw_handler(void)
-{
-       ticks++;
+       HWREG(NVIC_ST_RELOAD) = period - 1;
 }
 
 static void timer_hw_enable(void)
@@ -68,8 +60,8 @@ static void timer_hw_disable(void)
 
 void timer_hw_init(void)
 {
-       timer_hw_setPeriod(1000000);
-       sysirq_setHandler(FAULT_SYSTICK, timer_hw_handler);
+       timer_hw_setPeriod(CPU_FREQ / TIMER_TICKS_PER_SEC);
+       sysirq_setHandler(FAULT_SYSTICK, timer_handler);
        timer_hw_enable();
 }