]> rtime.felk.cvut.cz Git - sysless.git/blobdiff - board/arm/lpc17xx-common/config/config.lmc1
lcp176x: erase FLASH up to 512kB when lcp1768 variant is used.
[sysless.git] / board / arm / lpc17xx-common / config / config.lmc1
index 5f881b98de484378b29c0e958b7f57d0a8d4ed25..e22aedae51395928bb37ffc1f4b5391c1b229362 100644 (file)
@@ -3,9 +3,12 @@
 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
@@ -22,14 +25,14 @@ TARGET_ARCH = -mthumb -mcpu=cortex-m3
 # 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
@@ -39,13 +42,18 @@ CPU_SYS_KHZ=12000
 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; \
@@ -54,8 +62,22 @@ LOAD_CMD-app = \
 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