diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2007-12-18 10:10:24 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2007-12-18 10:10:24 +0000 |
commit | d34507ec44db7333c8a81ae23ffd89a05ef3293d (patch) | |
tree | d0ad0b7181572aa49b6217628da6df1371bcec73 /demos | |
parent | 63508437a31f19b5f5612bb3e1f3820e9edb1be1 (diff) | |
download | ChibiOS-d34507ec44db7333c8a81ae23ffd89a05ef3293d.tar.gz ChibiOS-d34507ec44db7333c8a81ae23ffd89a05ef3293d.tar.bz2 ChibiOS-d34507ec44db7333c8a81ae23ffd89a05ef3293d.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@145 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos')
-rw-r--r-- | demos/ARM7-LPC214x-GCC/Makefile.thumb | 13 | ||||
-rw-r--r-- | demos/ARM7-LPC214x-GCC/board.c | 28 |
2 files changed, 33 insertions, 8 deletions
diff --git a/demos/ARM7-LPC214x-GCC/Makefile.thumb b/demos/ARM7-LPC214x-GCC/Makefile.thumb index 518169cd8..4b14088c8 100644 --- a/demos/ARM7-LPC214x-GCC/Makefile.thumb +++ b/demos/ARM7-LPC214x-GCC/Makefile.thumb @@ -67,18 +67,19 @@ ASRC = # List THUMB-mode C sources here
# NOTE: If any module is compiled in thumb mode then -mthumb-interwork is
# enabled for all modules and that lowers performance.
-TSRC = chcore.c \
+TSRC = ../../ports/ARM7-LPC214x/GCC/chcore.c \
+ ../../ports/ARM7-LPC214x/GCC/vic.c \
+ ../../ports/ARM7-LPC214x/GCC/lpc214x_serial.c \
+ ../../ports/ARM7-LPC214x/GCC/lpc214x_ssp.c \
../../src/chinit.c ../../src/chdebug.c ../../src/chlists.c ../../src/chdelta.c \
../../src/chschd.c ../../src/chthreads.c ../../src/chsem.c ../../src/chmtx.c \
../../src/chevents.c ../../src/chmsg.c ../../src/chsleep.c ../../src/chqueues.c \
../../src/chserial.c \
- ../../ports/ARM7-LPC214x/GCC/vic.c ../../ports/ARM7-LPC214x/GCC/lpc214x_serial.c \
- ../../ports/ARM7-LPC214x/GCC/lpc214x_ssp.c \
../../src/lib/evtimer.c ../../test/test.c \
- buzzer.c mmcsd.c main.c
+ board.c buzzer.c mmcsd.c main.c
# List ASM source files here
-ASMSRC = crt0.s chcore2.s
+ASMSRC = ../../ports/ARM7-LPC214x/GCC/crt0.s ../../ports/ARM7-LPC214x/GCC/chcore2.s
# List all user directories here
UINCDIR = ../../src/include ../../src/lib ../../ports/ARM7-LPC214x/GCC
@@ -161,7 +162,7 @@ $(TOBJS) : %.o : %.c $(ASMOBJS) : %.o : %.s
@echo
- $(AS) -c $(ASFLAGS) $< -o $@
+ $(AS) -c $(ASFLAGS) -I . $(INCDIR) $< -o $@
%elf: $(OBJS)
@echo
diff --git a/demos/ARM7-LPC214x-GCC/board.c b/demos/ARM7-LPC214x-GCC/board.c index d6b92f842..23e642f01 100644 --- a/demos/ARM7-LPC214x-GCC/board.c +++ b/demos/ARM7-LPC214x-GCC/board.c @@ -28,8 +28,32 @@ #include "mmcsd.h"
#include "buzzer.h"
-extern void IrqHandler(void);
-extern void T0IrqHandler(void);
+/*
+ * Non-vectored IRQs handling here.
+ */
+__attribute__((naked))
+static void IrqHandler(void) {
+
+ chSysIRQEnterI();
+
+ /* nothing */
+
+ chSysIRQExitI();
+}
+
+/*
+ * Timer 0 IRQ handling here.
+ */
+__attribute__((naked))
+static void T0IrqHandler(void) {
+
+ chSysIRQEnterI();
+
+ T0IR = 1; /* Clear interrupt on match MR0. */
+ chSysTimerHandlerI();
+
+ chSysIRQExitI();
+}
/*
* Hardware initialization goes here.
|