diff --git a/Makefile.include b/Makefile.include index e239c5cf1..16d069772 100644 --- a/Makefile.include +++ b/Makefile.include @@ -1,3 +1,4 @@ +# set undefined variables ifeq ($(strip $(RIOTCPU)),) export RIOTCPU =$(RIOTBASE)/cpu endif @@ -11,8 +12,9 @@ BB = $(shell echo $(BOARD)|tr 'a-z' 'A-Z') CFLAGS += -DBOARD=$(BB) export CFLAGS -# mandatory include! +# mandatory includes! include $(RIOTBOARD)/$(BOARD)/Makefile.include +include $(RIOTCPU)/Makefile.include include $(RIOTBASE)/Makefile.modules # your binaries to link diff --git a/cpu/Makefile b/cpu/Makefile index b0f6e8f4d..19c8c8953 100644 --- a/cpu/Makefile +++ b/cpu/Makefile @@ -1,9 +1,13 @@ ifeq ($(CPU),lpc2387) - DIRS = arm_common lpc2387 + DIRS = arm_common lpc_common lpc2387 endif ifeq ($(CPU),lpc214x) - DIRS = arm_common lpc214x + DIRS = arm_common lpc_common lpc214x +endif + +ifeq ($(CPU),mc1322x) + DIRS = arm_common mc1322x endif ifeq ($(CPU),cc430) @@ -28,6 +32,8 @@ $(DIRS): clean: @$(MAKE) -C lpc2387 clean + @$(MAKE) -C mc1322x clean + @$(MAKE) -C lpc_common clean @$(MAKE) -C arm_common clean @$(MAKE) -C cc430 clean @$(MAKE) -C msp430-common clean diff --git a/cpu/Makefile.include b/cpu/Makefile.include new file mode 100644 index 000000000..968ca3812 --- /dev/null +++ b/cpu/Makefile.include @@ -0,0 +1,21 @@ +### Minimal setup +ifeq ($(CPU),lpc2387) + export USEMODULE += arm_common lpc_common + export UNDEF += $(BINDIR)syscalls.o + export INCLUDES += -I$(RIOTCPU)/arm_common/include + export INCLUDES += -I$(RIOTCPU)/lpc_common/include +endif +ifeq ($(CPU),lpc214x) + export USEMODULE += arm_common lpc_common + export UNDEF += $(BINDIR)syscalls.o + export INCLUDES += -I$(RIOTCPU)/arm_common/include + export INCLUDES += -I$(RIOTCPU)/lpc_common/include +endif +ifeq ($(CPU),mc1322x) + export USEMODULE += arm_common + export UNDEF += $(BINDIR)syscalls.o + export INCLUDES += -I$(RIOTBASE)/cpu/arm_common/include +endif +ifeq ($(CPU),native) + export INCLUDES += -I$(RIOTBASE)/cpu/native/include +endif diff --git a/cpu/arm_common/arm_cpu.c b/cpu/arm_common/arm_cpu.c index f2177dc7c..49ef69dbb 100644 --- a/cpu/arm_common/arm_cpu.c +++ b/cpu/arm_common/arm_cpu.c @@ -89,7 +89,9 @@ void thread_print_stack(void) printf("STACK (%u)= %X \n", i, *s); } -__attribute__((naked, noreturn)) void arm_reset(void) +/* LPC specific */ +#ifdef WDTC +__attribute__((naked,noreturn)) void arm_reset(void) { dINT(); WDTC = 0x00FFF; @@ -99,3 +101,4 @@ __attribute__((naked, noreturn)) void arm_reset(void) while (1); } +#endif diff --git a/cpu/lpc_common/Makefile b/cpu/lpc_common/Makefile new file mode 100644 index 000000000..b8ccbfb0e --- /dev/null +++ b/cpu/lpc_common/Makefile @@ -0,0 +1,4 @@ +MODULE =lpc_common + +include $(RIOTBASE)/Makefile.base + diff --git a/cpu/arm_common/hwtimer_cpu.c b/cpu/lpc_common/hwtimer_cpu.c similarity index 100% rename from cpu/arm_common/hwtimer_cpu.c rename to cpu/lpc_common/hwtimer_cpu.c diff --git a/cpu/arm_common/iap.c b/cpu/lpc_common/iap.c similarity index 99% rename from cpu/arm_common/iap.c rename to cpu/lpc_common/iap.c index 9c261cf5f..56dee0e69 100644 --- a/cpu/arm_common/iap.c +++ b/cpu/lpc_common/iap.c @@ -7,6 +7,7 @@ #include #include #include +/* TODO: replace by a lpc generic header */ #include #define ENABLE_DEBUG (0)