aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorFabio Utzig <utzig@utzig.org>2016-02-14 20:59:54 -0200
committerFabio Utzig <utzig@utzig.org>2016-02-14 20:59:54 -0200
commit97bf343a8b3cea8618965d93668ae98915088208 (patch)
tree35ec1378738011ecc1cf5b086adaa079e5efb7e6 /os
parentdb994ed1a671fe299499dc9ce0cd28cfebc2f409 (diff)
parentd3658d49aaf532bfc73a17b7e3d5d2cbf115f718 (diff)
downloadChibiOS-Contrib-97bf343a8b3cea8618965d93668ae98915088208.tar.gz
ChibiOS-Contrib-97bf343a8b3cea8618965d93668ae98915088208.tar.bz2
ChibiOS-Contrib-97bf343a8b3cea8618965d93668ae98915088208.zip
Merge pull request #32 from sdalu/flash
Ease dev with flash/debug target helper
Diffstat (limited to 'os')
-rw-r--r--os/hal/boards/NRF51-DK/board.mk6
-rw-r--r--os/various/gdb.mk13
-rw-r--r--os/various/jlink.mk33
3 files changed, 52 insertions, 0 deletions
diff --git a/os/hal/boards/NRF51-DK/board.mk b/os/hal/boards/NRF51-DK/board.mk
index 4d20da3..9619bd4 100644
--- a/os/hal/boards/NRF51-DK/board.mk
+++ b/os/hal/boards/NRF51-DK/board.mk
@@ -3,3 +3,9 @@ BOARDSRC = ${CHIBIOS_CONTRIB}/os/hal/boards/NRF51-DK/board.c
# Required include directories
BOARDINC = ${CHIBIOS_CONTRIB}/os/hal/boards/NRF51-DK
+
+# Flash
+JLINK_DEVICE = nrf51422
+JLINK_PRE_FLASH = w4 4001e504 1
+JLINK_ERASE_ALL = w4 4001e504 2\nw4 4001e50c 1\nsleep 100
+
diff --git a/os/various/gdb.mk b/os/various/gdb.mk
new file mode 100644
index 0000000..aa636a8
--- /dev/null
+++ b/os/various/gdb.mk
@@ -0,0 +1,13 @@
+GDB ?= arm-none-eabi-gdb
+GDB_PROGRAM ?= $(BUILDDIR)/$(PROJECT).elf
+GDB_PORT ?= 2331
+GDB_START_ADDRESS ?= 0
+GDB_BREAK ?= main
+
+gdb-debug:
+ printf "target remote localhost:$(GDB_PORT)\nmem $(GDB_START_ADDRESS) 0\nbreak $(GDB_BREAK)\nload\nmon reset\ncontinue" > .gdbinit
+ $(GDB) --command=.gdbinit $(GDB_PROGRAM)
+
+
+
+.PHONY: gdb-debug
diff --git a/os/various/jlink.mk b/os/various/jlink.mk
new file mode 100644
index 0000000..1a13bd3
--- /dev/null
+++ b/os/various/jlink.mk
@@ -0,0 +1,33 @@
+JLINK ?= JLinkExe
+JLINK_GDB_SERVER ?= JLinkGDBServer
+JLINK_GDB_PORT ?= 2331
+JLINK_IF ?= swd
+JLINK_SPEED ?= 2000
+JLINK_START_ADDRESS ?= 0
+JLINK_BURN ?= $(BUILDDIR)/$(PROJECT).bin
+JLINK_COMMON_OPTS ?= -device $(JLINK_DEVICE) -if $(JLINK_IF) -speed $(JLINK_SPEED)
+
+jlink-flash:
+ printf "$(JLINK_PRE_FLASH)\nloadbin $(JLINK_BURN) $(JLINK_START_ADDRESS)\nverifybin $(JLINK_BURN) $(JLINK_START_ADDRESS)\nr\ng\nexit\n" > $(BUILDDIR)/flash.jlink
+ $(JLINK) $(JLINK_COMMON_OPTS) $(BUILDDIR)/flash.jlink
+
+ifneq ($(SOFTDEVICE),)
+jlink-flash-softdevice:
+ printf "w4 4001e504 1\nloadbin $(NRF51SDK)/components/softdevice/$(SOFTDEVICE)/hex/$(SOFTDEVICE)_nrf51_$(SOFTDEVICE_RELEASE)_softdevice.hex 0\nr\ng\nexit\n" > $(BUILDDIR)/flash.softdevice.jlink
+ $(JLINK) $(JLINK_COMMON_OPTS) $(BUILDDIR)/flash.softdevice.jlink
+endif
+
+ifneq ($(JLINK_ERASE_ALL),)
+jlink-erase-all:
+ printf "$(JLINK_ERASE_ALL)\nr\nexit\n" > $(BUILDDIR)/erase-all.jlink
+ $(JLINK) $(JLINK_COMMON_OPTS) $(BUILDDIR)/erase-all.jlink
+endif
+
+jlink-reset:
+ printf "r\nexit\n" > $(BUILDDIR)/reset.jlink
+ $(JLINK) $(JLINK_COMMON_OPTS) $(BUILDDIR)/reset.jlink
+
+jlink-debug-server:
+ $(JLINK_GDB_SERVER) $(JLINK_COMMON_OPTS) -port $(JLINK_GDB_PORT)
+
+.PHONY: jlink-flash jlink-flash-softdevice jlink-erase-all jlink-reset jlink-debug-server