CM3: avoid using HWREG() macro.
authorarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Tue, 4 May 2010 08:54:49 +0000 (08:54 +0000)
committerarighi <arighi@38d2e660-2303-0410-9eaa-f027e97ec537>
Tue, 4 May 2010 08:54:49 +0000 (08:54 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3599 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/cpu/cortex-m3/drv/irq_cm3.c
bertos/cpu/cortex-m3/drv/timer_cm3.c

index a21439a7a74e28df402a60e0b66b8cb4711fd434..d71876fe47c4efd700c54c6e9139c6915671182c 100644 (file)
@@ -83,9 +83,9 @@ static void sysirq_enable(sysirq_t irq)
 {
        /* Enable the IRQ line (only for generic IRQs) */
        if (irq >= 16 && irq < 48)
-               HWREG(NVIC_EN0) = 1 << (irq - 16);
+               NVIC_EN0_R = 1 << (irq - 16);
        else if (irq >= 48)
-               HWREG(NVIC_EN1) = 1 << (irq - 48);
+               NVIC_EN1_R = 1 << (irq - 48);
 }
 
 void sysirq_setHandler(sysirq_t irq, sysirq_handler_t handler)
@@ -122,6 +122,6 @@ void sysirq_init(void)
                irq_table[i] = unhandled_isr;
 
        /* Update NVIC to point to the new vector table */
-       HWREG(NVIC_VTABLE) = (size_t)irq_table;
+       NVIC_VTABLE_R = (size_t)irq_table;
        IRQ_RESTORE(flags);
 }
index a4d9668943d35bf186c80d30ce5fcd948efdfe85..e5a730bfe381f5d805216606e504d734125396c1 100644 (file)
 INLINE void timer_hw_setPeriod(unsigned long period)
 {
        ASSERT(period < (1 << 24));
-       HWREG(NVIC_ST_RELOAD) = period - 1;
+       NVIC_ST_RELOAD_R = period - 1;
 }
 
 static void timer_hw_enable(void)
 {
-       HWREG(NVIC_ST_CTRL) |=
+       NVIC_ST_CTRL_R |=
                NVIC_ST_CTRL_CLK_SRC | NVIC_ST_CTRL_ENABLE | NVIC_ST_CTRL_INTEN;
 }
 
 static void timer_hw_disable(void)
 {
-       HWREG(NVIC_ST_CTRL) &= ~(NVIC_ST_CTRL_ENABLE | NVIC_ST_CTRL_INTEN);
+       NVIC_ST_CTRL_R &= ~(NVIC_ST_CTRL_ENABLE | NVIC_ST_CTRL_INTEN);
 }
 
 void timer_hw_init(void)