ARCH=arm
MACH=lpc17xx
BOARD=lpc17xx-common
+LD_SCRIPT=lpc1768
CONFIG_BOARD_VARIANT=lmc1
+link_VARIANTS ?= app
+
CONFIG_OC_UL_DRV_SYSLESS=y
CONFIG_OC_UL_DRV_U450_VARPINS=y
CONFIG_OC_UL_DRV_U450_VARPINS_MSRSWAP=n
# Set default C flags. If theese are set elsewhere (e.g. on a command
# line), these default flags are not used.
DEBUG ?= -ggdb
-OPTIMIZE ?= -O2
+#OPTIMIZE ?= -O2
# Set default C flags. If theese are set elsewhere (e.g. on a command
# line), these default flags are not used.
#DEBUG ?= -g
-#OPTIMIZE ?= -Os -ffunction-sections -fdata-sections -Wl,--gc-section
-#LDFLAGS += -Wl,--cref
-#LDFLAGS += -Wl,--gc-section
+OPTIMIZE ?= -Os -ffunction-sections -fdata-sections -Wl,--gc-section
+LDFLAGS += -Wl,--cref
+LDFLAGS += -Wl,--gc-section
LPC21ISP=lpc21isp-179
LPC_BAUD = 38400
LOAD_CMD-boot = load() { $(LPC21ISP) -bin $$1 $(LPC_TTY) $(LPC_BAUD) $(CPU_SYS_KHZ); }; load
PROG_BASE=0x09000
-PROG_SIZE=0x17000
+PROG_SIZE=$(if $(findstring lpc1768,$(LD_SCRIPT)),0x77000,0x37000)
-UL_SENDHEX ?= ul_sendhex
-MOD ?= 3
+
+OUTPUT_FORMATS = bin
LOAD_EXTENSION-app = .bin
+ifeq ($(USB),)
+
+UL_SENDHEX ?= ul_sendhex
+MOD ?= 3
+
LOAD_CMD-app = \
$(UL_SENDHEX) -m $(MOD) -r -o 0 ; \
$(UL_SENDHEX) -m $(MOD) -o 0 -t 0x101 -s $(PROG_BASE) -l $(PROG_SIZE) -e; \
RUN_CMD-app = \
$(UL_SENDHEX) -m $(MOD) -r
-# This selects linker script
-LD_SCRIPT=lpc1754
+else
+
+USB_SENDHEX ?= usb_sendhex
+USB_APP_VID ?= 0xdead
+USB_APP_PID ?= 0x2263
+USB_BOOT_VID ?= 0xdead
+USB_BOOT_PID ?= 0x2263
+
+LOAD_CMD-app = \
+ $(USB_SENDHEX) -d $(USB_APP_VID):$(USB_APP_PID) -r ; \
+ $(USB_SENDHEX) -w -d $(USB_BOOT_VID):$(USB_BOOT_PID) -s $(PROG_BASE) -l $(PROG_SIZE) -e; sleep 2 ; \
+ $(USB_SENDHEX) -d $(USB_BOOT_VID):$(USB_BOOT_PID) -s $(PROG_BASE) -f binary
+
+RUN_CMD-app = \
+ $(USB_SENDHEX) -d $(USB_BOOT_VID):$(USB_BOOT_PID) -r
+
+endif
-OUTPUT_FORMATS = bin