summaryrefslogtreecommitdiff
path: root/nuttx/configs/ea3131
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-02-21 16:37:06 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-02-21 16:37:06 +0000
commitb820a70bd01e4b317e219aab25f58541a86848c0 (patch)
tree388911d5693387b50f0d31dd5444b85e6f718d7b /nuttx/configs/ea3131
parent9f77b1a93a1b5c96bea1c8f905344329f091e36b (diff)
downloadpx4-nuttx-b820a70bd01e4b317e219aab25f58541a86848c0.tar.gz
px4-nuttx-b820a70bd01e4b317e219aab25f58541a86848c0.tar.bz2
px4-nuttx-b820a70bd01e4b317e219aab25f58541a86848c0.zip
Add OpenOCD notes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2538 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/ea3131')
-rwxr-xr-xnuttx/configs/ea3131/README.txt25
-rwxr-xr-xnuttx/configs/ea3131/tools/armusbocd.cfg34
-rwxr-xr-xnuttx/configs/ea3131/tools/oocd.sh43
3 files changed, 102 insertions, 0 deletions
diff --git a/nuttx/configs/ea3131/README.txt b/nuttx/configs/ea3131/README.txt
index 51059df72..811ff34e1 100755
--- a/nuttx/configs/ea3131/README.txt
+++ b/nuttx/configs/ea3131/README.txt
@@ -194,6 +194,31 @@ Image Format
If you don't use setenv.sh, then just set your PATH variable appropriately or
use the full path to mklpc.sh in the final step.
+OpenOCD
+^^^^^^^
+
+ I have been using the Olimex ARM-USB-OCD JTAG debugger with the EA3131
+ (http://www.olimex.com). The OpenOCD configuration file is here:
+ tools/armusbocb.cfg. There is also a script on the tools directory that
+ I used to start the OpenOCD daemon on my system called oocd.sh. That
+ script would probably require some modifications to work in another
+ environment:
+
+ - possibly the value of OPENOCD_PATH
+ - If you are working under Linux you will need to change any
+ occurances of `cygpath -w blablabla` to just blablabla
+
+ Then you should be able to start the OpenOCD daemon like:
+
+ tools/oocd.sh <topdir>
+
+ Where <topdir> is the directory where NuttX is installed.
+
+ Once the OpenOCD daemon has been started, you can connect to it via
+ GDB using the following GDB command:
+
+ (gdb) target remote localhost:3333
+
ARM/EA3131-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
diff --git a/nuttx/configs/ea3131/tools/armusbocd.cfg b/nuttx/configs/ea3131/tools/armusbocd.cfg
new file mode 100755
index 000000000..de17e8b0e
--- /dev/null
+++ b/nuttx/configs/ea3131/tools/armusbocd.cfg
@@ -0,0 +1,34 @@
+#daemon configuration
+telnet_port 4444
+gdb_port 3333
+
+#interface
+interface ft2232
+ft2232_device_desc "Olimex OpenOCD JTAG A"
+ft2232_layout "olimex-jtag"
+ft2232_vid_pid 0x15BA 0x0003
+jtag_speed 2
+
+#use combined on interfaces or targets that can't set TRST/SRST separately
+reset_config trst_and_srst separate
+
+#jtag scan chain
+#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
+jtag_device 4 0x1 0xf 0xe
+
+#target configuration
+daemon_startup reset
+
+#target <type> <startup mode>
+#target arm9ejs <reset mode> <chainpos> <endianness> <variant>
+target arm926ejs little run_and_halt 0 arm926ejs
+run_and_halt_time 0 30
+
+#target_script 0 reset oocd_flash2138.script
+working_area 0 0x1102800 0x60000 nobackup
+
+#flash configuration
+#flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v2 12000 calc_checksum
+
+# For more information about the configuration files, take a look at:
+# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger
diff --git a/nuttx/configs/ea3131/tools/oocd.sh b/nuttx/configs/ea3131/tools/oocd.sh
new file mode 100755
index 000000000..7948c1e03
--- /dev/null
+++ b/nuttx/configs/ea3131/tools/oocd.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+TOPDIR=$1
+USAGE="$0 <TOPDIR> [-d]"
+if [ -z "${TOPDIR}" ]; then
+ echo "Missing argument"
+ echo $USAGE
+ exit 1
+fi
+
+OPENOCD_PATH="/cygdrive/c/gccfd/openocd/bin"
+OPENOCD_EXE=openocd-ftd2xx.exe
+OPENOCD_CFG="${TOPDIR}/configs/ea3131/tools/armusbocd.cfg"
+OPENOCD_ARGS="-f `cygpath -w ${OPENOCD_CFG}`"
+~/projects/nuttx/nuttx/configs/ea3131/tool
+
+if [ "X$2" = "X-d" ]; then
+ OPENOCD_ARGS=$OPENOCD_ARGS" -d3"
+ set -x
+fi
+
+if [ ! -d ${OPENOCD_PATH} ]; then
+ echo "OpenOCD path does not exist: ${OPENOCD_PATH}"
+ exit 1
+fi
+if [ ! -x ${OPENOCD_PATH}/${OPENOCD_EXE} ]; then
+ echo "OpenOCD does not exist: ${OPENOCD_PATH}/${OPENOCD_EXE}"
+ exit 1
+fi
+if [ ! -f ${OPENOCD_CFG} ]; then
+ echo "OpenOCD config file does not exist: ${OPENOCD_CFG}"
+ exit 1
+fi
+
+echo "Starting OpenOCD"
+${OPENOCD_PATH}/${OPENOCD_EXE} ${OPENOCD_ARGS} &
+echo "OpenOCD daemon started"
+ps -ef | grep openocd
+echo "In GDB: target remote localhost:3333"
+
+
+
+