[Sysless] [PATCH] Added board support for NXP mbed board (www.mbed.org)
Jiri Kubias
jiri.kubias at gmail.com
Wed Jul 21 10:43:36 CEST 2010
* 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
More information about the Sysless
mailing list