You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2015/11/04 20:30:23 UTC

incubator-mynewt-larva git commit: First take on debug/download scripts for NRF 52.

Repository: incubator-mynewt-larva
Updated Branches:
  refs/heads/master 99feb02d0 -> e19a4f98c


First take on debug/download scripts for NRF 52.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/e19a4f98
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/e19a4f98
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/e19a4f98

Branch: refs/heads/master
Commit: e19a4f98c05418cdb99c93791c76ee7487056bbf
Parents: 99feb02
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Wed Nov 4 11:29:14 2015 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Wed Nov 4 11:29:14 2015 -0800

----------------------------------------------------------------------
 hw/bsp/nrf52pdk/egg.yml              |  2 ++
 hw/bsp/nrf52pdk/nrf52pdk_debug.sh    | 26 +++++++++++++++++
 hw/bsp/nrf52pdk/nrf52pdk_download.sh | 48 +++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/e19a4f98/hw/bsp/nrf52pdk/egg.yml
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf52pdk/egg.yml b/hw/bsp/nrf52pdk/egg.yml
index c4e10da..3939a18 100644
--- a/hw/bsp/nrf52pdk/egg.yml
+++ b/hw/bsp/nrf52pdk/egg.yml
@@ -1,6 +1,8 @@
 egg.name: "hw/bsp/nrf52pdk"
 egg.linkerscript: "nrf52pdk.ld" 
 egg.linkerscript.bootloader.OVERWRITE: "boot-nrf52pdk.ld"
+egg.downloadscript: nrf52pdk_download.sh
+egg.debugscript: nrf52pdk_debug.sh
 egg.cflags: -DNRF52
 egg.deps: 
     - hw/mcu/nordic/nrf52xxx

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/e19a4f98/hw/bsp/nrf52pdk/nrf52pdk_debug.sh
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf52pdk/nrf52pdk_debug.sh b/hw/bsp/nrf52pdk/nrf52pdk_debug.sh
new file mode 100755
index 0000000..beeef5e
--- /dev/null
+++ b/hw/bsp/nrf52pdk/nrf52pdk_debug.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Called: $0 <binary> [identities...]
+#  - binary is the path to prefix to target binary, .elf.bin appended to this
+#    name is the raw binary format of the binary.
+#  - identities is the project identities string. So you can have e.g. different
+#    flash offset for bootloader identity
+# 
+#
+if [ $# -lt 1 ]; then
+    echo "Need binary to download"
+    exit 1
+fi
+
+FILE_NAME=$1.elf
+GDB_CMD_FILE=.gdb_cmds
+
+echo "Debugging" $FILE_NAME
+
+echo "shell /bin/sh -c 'trap \"\" 2;JLinkGDBServer -device nRF52 -speed 4000 -if SWD $JLINK_SCRIPT -port 3333 -singlerun' & " > $GDB_CMD_FILE
+echo "target remote localhost:3333" >> $GDB_CMD_FILE
+
+arm-none-eabi-gdb -x $GDB_CMD_FILE $FILE_NAME
+
+rm $GDB_CMD_FILE
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/e19a4f98/hw/bsp/nrf52pdk/nrf52pdk_download.sh
----------------------------------------------------------------------
diff --git a/hw/bsp/nrf52pdk/nrf52pdk_download.sh b/hw/bsp/nrf52pdk/nrf52pdk_download.sh
new file mode 100755
index 0000000..78ce539
--- /dev/null
+++ b/hw/bsp/nrf52pdk/nrf52pdk_download.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Called: $0 <binary> [identities...]
+#  - binary is the path to prefix to target binary, .elf.bin appended to this
+#    name is the raw binary format of the binary.
+#  - identities is the project identities string. So you can have e.g. different
+#    flash offset for bootloader identity
+# 
+#
+if [ $# -lt 1 ]; then
+    echo "Need binary to download"
+    exit 1
+fi
+
+FLASH_OFFSET=0x0
+FILE_NAME=$1.elf.bin
+JLINK_SCRIPT=.download.jlink
+
+echo "Downloading" $FILE_NAME "to" $FLASH_OFFSET
+
+cat > $JLINK_SCRIPT <<EOF
+w 4001e504 1
+loadbin $FILE_NAME $FLASH_OFFSET
+q
+EOF
+
+msgs=`JLinkExe -device nRF52 -speed 4000 -if SWD $JLINK_SCRIPT`
+
+# Echo output from script run, so newt can show it if things go wrong.
+echo $msgs
+rm $JLINK_SCRIPT
+
+error=`echo $msgs | grep error`
+if [ -n "$error" ]; then
+    exit 1
+fi
+
+error=`echo $msgs | grep -i failed`
+if [ -n "$error" ]; then
+    exit 1
+fi
+
+error=`echo $msgs | grep -i "unknown / supported"`
+if [ -n "$error" ]; then
+    exit 1
+fi
+
+exit 0