diff --git a/Makefile.include b/Makefile.include index e239c5cf1a7dd555c7a61a3f7b4ba29677f9242e..16d0697727db7f3faa8562fcb26da75b2cc38c43 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 b0f6e8f4df5e6b83ba9379d2406a72298b81843a..19c8c895337e9dfcf4fd4bcfdf84d050dbc94473 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 0000000000000000000000000000000000000000..968ca3812b3ce45aca6d246a31f8e3a3f8151f31 --- /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 f2177dc7c31ebd5570a4bd85ddbcef3075c3e14b..49ef69dbb8fe3957dac97d243ff203a8100e0b8f 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 0000000000000000000000000000000000000000..b8ccbfb0ef894af4824bae1e5c2a535799cdc218 --- /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 9c261cf5fdb249f26e68c74d9008651ed4ab895e..56dee0e69375dcd166ad99aeba94633388f8b483 100644 --- a/cpu/arm_common/iap.c +++ b/cpu/lpc_common/iap.c @@ -7,6 +7,7 @@ #include <irq.h> #include <flashrom.h> #include <iap.h> +/* TODO: replace by a lpc generic header */ #include <lpc2387.h> #define ENABLE_DEBUG (0)