X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Firq_cm3.c;h=bbae832428fdd870274040234448f471eb7b2667;hb=45b784ed8ed1b37ccd1fa56258fb9d082de55216;hp=a21439a7a74e28df402a60e0b66b8cb4711fd434;hpb=9a332b1eebc9dba4b9cc5cfa901fe414824ceea1;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/irq_cm3.c b/bertos/cpu/cortex-m3/drv/irq_cm3.c index a21439a7..bbae8324 100644 --- a/bertos/cpu/cortex-m3/drv/irq_cm3.c +++ b/bertos/cpu/cortex-m3/drv/irq_cm3.c @@ -35,10 +35,11 @@ * \author Andrea Righi */ +#include "irq_cm3.h" + #include /* ASSERT() */ #include /* LOG_ERR() */ #include -#include "irq_cm3.h" static void (*irq_table[NUM_INTERRUPTS])(void) __attribute__((section("vtable"))); @@ -83,9 +84,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 +123,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); }