diff options
Diffstat (limited to 'demos')
-rw-r--r-- | demos/ARM7-AT91SAM7X-GCC/board.c | 6 | ||||
-rw-r--r-- | demos/ARM7-AT91SAM7X-WEB-GCC/board.c | 6 | ||||
-rw-r--r-- | demos/ARM7-LPC214x-G++/board.c | 12 | ||||
-rw-r--r-- | demos/ARM7-LPC214x-GCC-minimal/board.c | 12 | ||||
-rw-r--r-- | demos/ARM7-LPC214x-GCC/board.c | 12 |
5 files changed, 27 insertions, 21 deletions
diff --git a/demos/ARM7-AT91SAM7X-GCC/board.c b/demos/ARM7-AT91SAM7X-GCC/board.c index 2329b0080..754b0b366 100644 --- a/demos/ARM7-AT91SAM7X-GCC/board.c +++ b/demos/ARM7-AT91SAM7X-GCC/board.c @@ -26,7 +26,7 @@ extern void FiqHandler(void);
-CH_IRQ_HANDLER static void SpuriousHandler(void) {
+static CH_IRQ_HANDLER(SpuriousHandler) {
CH_IRQ_PROLOGUE();
@@ -38,7 +38,7 @@ CH_IRQ_HANDLER static void SpuriousHandler(void) { /*
* SYS IRQ handling here.
*/
-CH_IRQ_HANDLER static void SYSIrqHandler(void) {
+static CH_IRQ_HANDLER(SYSIrqHandler) {
CH_IRQ_PROLOGUE();
@@ -48,7 +48,7 @@ CH_IRQ_HANDLER static void SYSIrqHandler(void) { chSysTimerHandlerI();
chSysUnlockI();
}
- AT91C_BASE_AIC->AIC_EOICR = 0; \
+ AT91C_BASE_AIC->AIC_EOICR = 0;
CH_IRQ_EPILOGUE();
}
diff --git a/demos/ARM7-AT91SAM7X-WEB-GCC/board.c b/demos/ARM7-AT91SAM7X-WEB-GCC/board.c index 87bc438ea..38c91d9fa 100644 --- a/demos/ARM7-AT91SAM7X-WEB-GCC/board.c +++ b/demos/ARM7-AT91SAM7X-WEB-GCC/board.c @@ -27,7 +27,7 @@ extern void FiqHandler(void);
-CH_IRQ_HANDLER static void SpuriousHandler(void) {
+static CH_IRQ_HANDLER(SpuriousHandler) {
CH_IRQ_PROLOGUE();
@@ -39,7 +39,7 @@ CH_IRQ_HANDLER static void SpuriousHandler(void) { /*
* SYS IRQ handling here.
*/
-CH_IRQ_HANDLER static void SYSIrqHandler(void) {
+static CH_IRQ_HANDLER(SYSIrqHandler) {
CH_IRQ_PROLOGUE();
@@ -49,7 +49,7 @@ CH_IRQ_HANDLER static void SYSIrqHandler(void) { chSysTimerHandlerI();
chSysUnlockI();
}
- AT91C_BASE_AIC->AIC_EOICR = 0; \
+ AT91C_BASE_AIC->AIC_EOICR = 0;
CH_IRQ_EPILOGUE();
}
diff --git a/demos/ARM7-LPC214x-G++/board.c b/demos/ARM7-LPC214x-G++/board.c index fef4deb36..f6792851a 100644 --- a/demos/ARM7-LPC214x-G++/board.c +++ b/demos/ARM7-LPC214x-G++/board.c @@ -31,27 +31,29 @@ /*
* Non-vectored IRQs handling here.
*/
-CH_IRQ_HANDLER static void IrqHandler(void) {
+static CH_IRQ_HANDLER(IrqHandler) {
CH_IRQ_PROLOGUE();
/* nothing */
- VICVectAddr = 0;
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
/*
* Timer 0 IRQ handling here.
*/
-CH_IRQ_HANDLER static void T0IrqHandler(void) {
+static CH_IRQ_HANDLER(T0IrqHandler) {
CH_IRQ_PROLOGUE();
-
T0IR = 1; /* Clear interrupt on match MR0. */
+
+ chSysLockI();
chSysTimerHandlerI();
- VICVectAddr = 0;
+ chSysUnlockI();
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
diff --git a/demos/ARM7-LPC214x-GCC-minimal/board.c b/demos/ARM7-LPC214x-GCC-minimal/board.c index e10297562..4ccb5e78c 100644 --- a/demos/ARM7-LPC214x-GCC-minimal/board.c +++ b/demos/ARM7-LPC214x-GCC-minimal/board.c @@ -31,27 +31,29 @@ /*
* Non-vectored IRQs handling here.
*/
-CH_IRQ_HANDLER static void IrqHandler(void) {
+static CH_IRQ_HANDLER(IrqHandler) {
CH_IRQ_PROLOGUE();
/* nothing */
- VICVectAddr = 0;
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
/*
* Timer 0 IRQ handling here.
*/
-CH_IRQ_HANDLER static void T0IrqHandler(void) {
+static CH_IRQ_HANDLER(T0IrqHandler) {
CH_IRQ_PROLOGUE();
-
T0IR = 1; /* Clear interrupt on match MR0. */
+
+ chSysLockI();
chSysTimerHandlerI();
- VICVectAddr = 0;
+ chSysUnlockI();
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
diff --git a/demos/ARM7-LPC214x-GCC/board.c b/demos/ARM7-LPC214x-GCC/board.c index 767fb9123..3de7f82ba 100644 --- a/demos/ARM7-LPC214x-GCC/board.c +++ b/demos/ARM7-LPC214x-GCC/board.c @@ -31,27 +31,29 @@ /*
* Non-vectored IRQs handling here.
*/
-CH_IRQ_HANDLER static void IrqHandler(void) {
+static CH_IRQ_HANDLER(IrqHandler) {
CH_IRQ_PROLOGUE();
/* nothing */
- VICVectAddr = 0;
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
/*
* Timer 0 IRQ handling here.
*/
-CH_IRQ_HANDLER static void T0IrqHandler(void) {
+static CH_IRQ_HANDLER(T0IrqHandler) {
CH_IRQ_PROLOGUE();
-
T0IR = 1; /* Clear interrupt on match MR0. */
+
+ chSysLockI();
chSysTimerHandlerI();
- VICVectAddr = 0;
+ chSysUnlockI();
+ VICVectAddr = 0;
CH_IRQ_EPILOGUE();
}
|