[PATCH] Added board support for NXP mbed board (www.mbed.org)

* added board dir: board/arm/lpc17cmsis-mbed/ * added simple app (app/arm/mbed_blink) for blinking one diode on mbed board --- app/arm/mbed_blink/Makefile | 14 +++++++ app/arm/mbed_blink/Makefile.omk | 19 ++++++++++ app/arm/mbed_blink/main.c | 31 +++++++++++++++++ board/arm/lpc17cmsis-mbed/Makefile | 14 +++++++ board/arm/lpc17cmsis-mbed/Makefile.omk | 6 +++ board/arm/lpc17cmsis-mbed/board.ld | 1 + board/arm/lpc17cmsis-mbed/config.lpc17xx-mbed | 46 +++++++++++++++++++++++++ board/arm/lpc17cmsis-mbed/system_def.h | 1 + 8 files changed, 132 insertions(+), 0 deletions(-) create mode 100644 app/arm/mbed_blink/Makefile create mode 100644 app/arm/mbed_blink/Makefile.omk create mode 100644 app/arm/mbed_blink/main.c create mode 100644 board/arm/lpc17cmsis-mbed/Makefile create mode 100644 board/arm/lpc17cmsis-mbed/Makefile.omk create mode 100644 board/arm/lpc17cmsis-mbed/board.ld create mode 100644 board/arm/lpc17cmsis-mbed/config.lpc17xx-mbed create mode 100644 board/arm/lpc17cmsis-mbed/system_def.h diff --git a/app/arm/mbed_blink/Makefile b/app/arm/mbed_blink/Makefile new file mode 100644 index 0000000..76b56fd --- /dev/null +++ b/app/arm/mbed_blink/Makefile @@ -0,0 +1,14 @@ +# Generic directory or leaf node makefile for OCERA make framework + +ifndef MAKERULES_DIR +MAKERULES_DIR := $(shell ( old_pwd="" ; while [ ! -e Makefile.rules ] ; do if [ "$$old_pwd" = `pwd` ] ; then exit 1 ; else old_pwd=`pwd` ; cd -L .. 2>/dev/null ; fi ; done ; pwd ) ) +endif + +ifeq ($(MAKERULES_DIR),) +all : default +.DEFAULT:: + @echo -e "\nThe Makefile.rules has not been found in this or parent directory\n" +else +include $(MAKERULES_DIR)/Makefile.rules +endif + diff --git a/app/arm/mbed_blink/Makefile.omk b/app/arm/mbed_blink/Makefile.omk new file mode 100644 index 0000000..bfd461b --- /dev/null +++ b/app/arm/mbed_blink/Makefile.omk @@ -0,0 +1,19 @@ +# -*- makefile -*- +MY_BOARD = lpc17cmsis-mbed +ifeq ($(BOARD), $(MY_BOARD)) + + +# eb_blink je nazev programu, pod timto navzem bude systemem prekladan +bin_PROGRAMS = mbed_blink + + +# za nazev_programu_SOURCES se davaji vsechny C zdrojaky, ktere se budou kompilovat +mbed_blink_SOURCES = main.c + + + +else +ifeq ($(RELATIVE_DIR),$(INVOCATION_DIR)) +$(error Not my board - $(MY_BOARD). Not going to compile!) +endif +endif diff --git a/app/arm/mbed_blink/main.c b/app/arm/mbed_blink/main.c new file mode 100644 index 0000000..7a9278d --- /dev/null +++ b/app/arm/mbed_blink/main.c @@ -0,0 +1,31 @@ +#include <LPC17xx.h> + +#define LED1 (1<<18) +#define LED2 (1<<20) +#define LED3 (1<<21) +#define LED4 (1<<23) + + +void delay(void) +{ + volatile unsigned int i = 50000; + while(--i); +} + +int main(void) +{ + + + LPC_PINCON->PINSEL3 &= ~(3 << 4); + LPC_GPIO1->FIODIR |=LED1; + + +while(1) + { + delay(); + LPC_GPIO1->FIOSET = (1<<18); + delay(); + LPC_GPIO1->FIOCLR = (1<<18); + }; + +} \ No newline at end of file diff --git a/board/arm/lpc17cmsis-mbed/Makefile b/board/arm/lpc17cmsis-mbed/Makefile new file mode 100644 index 0000000..76b56fd --- /dev/null +++ b/board/arm/lpc17cmsis-mbed/Makefile @@ -0,0 +1,14 @@ +# Generic directory or leaf node makefile for OCERA make framework + +ifndef MAKERULES_DIR +MAKERULES_DIR := $(shell ( old_pwd="" ; while [ ! -e Makefile.rules ] ; do if [ "$$old_pwd" = `pwd` ] ; then exit 1 ; else old_pwd=`pwd` ; cd -L .. 2>/dev/null ; fi ; done ; pwd ) ) +endif + +ifeq ($(MAKERULES_DIR),) +all : default +.DEFAULT:: + @echo -e "\nThe Makefile.rules has not been found in this or parent directory\n" +else +include $(MAKERULES_DIR)/Makefile.rules +endif + diff --git a/board/arm/lpc17cmsis-mbed/Makefile.omk b/board/arm/lpc17cmsis-mbed/Makefile.omk new file mode 100644 index 0000000..99dc2a5 --- /dev/null +++ b/board/arm/lpc17cmsis-mbed/Makefile.omk @@ -0,0 +1,6 @@ +# -*- makefile -*- + +SUBDIRS = + +lib_LDSCRIPTS = board.ld +include_HEADERS = system_def.h diff --git a/board/arm/lpc17cmsis-mbed/board.ld b/board/arm/lpc17cmsis-mbed/board.ld new file mode 100644 index 0000000..20ce73e --- /dev/null +++ b/board/arm/lpc17cmsis-mbed/board.ld @@ -0,0 +1 @@ +/* Board specific objects linked with applications */ diff --git a/board/arm/lpc17cmsis-mbed/config.lpc17xx-mbed b/board/arm/lpc17cmsis-mbed/config.lpc17xx-mbed new file mode 100644 index 0000000..b0e0d72 --- /dev/null +++ b/board/arm/lpc17cmsis-mbed/config.lpc17xx-mbed @@ -0,0 +1,46 @@ +# -*- makefile -*- + +ARCH=arm +MACH=lpc17cmsis +BOARD=lpc17cmsis-mbed + +CROSS_COMPILE = arm-elf- +TARGET_ARCH = -mthumb -mcpu=cortex-m3 + +# set ARCH_... & MACH_... C defines +CFLAGS += -DARCH_$(shell echo $(ARCH) | tr a-z A-Z) +CFLAGS += -DMACH_$(shell echo $(MACH) | tr a-z A-Z) +CFLAGS += -D__BIT_TYPES_DEFINED__ + +# Set default C flags. If theese are set elsewhere (e.g. on a command +# line), these default flags are not used. +DEBUG ?= -g +OPTIMIZE ?= -O2 + + +# loading function is not done yet + +#LPCISP=~/projects/cf/lpc21isp_v179/lpc21isp +#TOLPC13XX=../../../arch/arm/mach-lpc13xx/tools/tolpc/tolpc -m ../../../arch/arm/mach-lpc13xx/tools/tolpc/lpc13xx.so +#LPC_BAUD = 115200 +#LPC_TTY = /dev/ttyUSB0 +#CPU_SYS_KHZ = 12000 + +#TOLPC = $(TOLPC13XX) --baud $(LPC_BAUD) --sdev $(LPC_TTY) -q $(CPU_SYS_KHZ) -L -f +#LOAD_CMD-ram = $(TOLPC) +#LOAD_CMD-flash = load() { $(TOLPC) -bin $$1 $(LPC_TTY) $(LPC_BAUD) $(CPU_SYS_KHZ); }; load + +# This selects linker script +LD_SCRIPT=lpc1768 +DEFAULT_LD_SCRIPT_VARIANT=flash + +OUTPUT_FORMATS = bin + +### +#CONFIG_USB_BASE=y +#CONFIG_USB_MORE=y +CONFIG_USB_PDIUSB=n +#CONFIG_USB_LPCUSB=y +CONFIG_CMDPROC_TEST=n + +LN_HEADERS=y diff --git a/board/arm/lpc17cmsis-mbed/system_def.h b/board/arm/lpc17cmsis-mbed/system_def.h new file mode 100644 index 0000000..9022aab --- /dev/null +++ b/board/arm/lpc17cmsis-mbed/system_def.h @@ -0,0 +1 @@ +/* rien de rien */ -- 1.7.1
participants (1)
-
Jiri Kubias