diff --git a/Makefile.include b/Makefile.include index e5fadea98443d69fb7bbee05971f8115d5c46156..0ba16357ea678ffd66d56e134d00148b84d9e9ea 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/Makefile.modules b/Makefile.modules index 7db789617300dd6f10bb9b0b8a1c61665b57d105..233f0416f2529e2fb74150ae5e72f40455061e60 100644 --- a/Makefile.modules +++ b/Makefile.modules @@ -1,26 +1,7 @@ export MAKEBASE =$(RIOTBASE) export BINDIR =$(RIOTBASE)/bin/ -UNDEF = $(BINDIR)startup.o +UNDEF += $(BINDIR)startup.o -### Minimal setup -ifeq ($(CPU),lpc2387) - USEMODULE += arm_common - UNDEF += $(BINDIR)syscalls.o - export INCLUDES += -I$(RIOTBASE)/cpu/arm_common/include -endif -ifeq ($(CPU),lpc214x) - USEMODULE += arm_common - UNDEF += $(BINDIR)syscalls.o -endif -ifeq ($(CPU),native) - export INCLUDES += -I$(RIOTBASE)/cpu/native/include -endif -ifeq ($(CPU),stm32f407vgt6) - USEMODULE += stm32f4xxstdperi - UNDEF += $(BINDIR)syscalls.o -endif - -#USEMODULE += cpu_drivers cpu core lib sys USEMODULE += cpu core sys ED = $(USEMODULE:%=-DMODULE_%) EXTDEFINES = $(shell echo $(ED)|tr 'a-z' 'A-Z') 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 36ee390405da85213c0c22eb7230204c21b5dec3..97d3d13d38ca8404284d3abe6974de8f9c980c8d 100644 --- a/cpu/arm_common/arm_cpu.c +++ b/cpu/arm_common/arm_cpu.c @@ -86,6 +86,8 @@ void thread_print_stack(void) printf("STACK (%u)= %X \n",i,*s); } +/* LPC specific */ +#ifdef WDTC __attribute__((naked,noreturn)) void arm_reset(void) { dINT(); @@ -95,3 +97,4 @@ __attribute__((naked,noreturn)) void arm_reset(void) WDFEED= 0x55; 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 0f0b418abed12894bf5c0c100c15e49e92ecf6ea..0e67f23589e753270fbbe274d6daf43bac7f683c 100644 --- a/cpu/arm_common/iap.c +++ b/cpu/lpc_common/iap.c @@ -1,13 +1,13 @@ /* iap driver * * based on iap driver for LPC2148 Controller made by Andreas Weschenfelder, 2008 - * see: * */ #include <irq.h> #include <flashrom.h> #include <iap.h> +/* TODO: replace by a lpc generic header */ #include <lpc2387.h> //#define ENABLE_DEBUG