diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-02-21 16:37:06 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2010-02-21 16:37:06 +0000 |
commit | b820a70bd01e4b317e219aab25f58541a86848c0 (patch) | |
tree | 388911d5693387b50f0d31dd5444b85e6f718d7b /nuttx | |
parent | 9f77b1a93a1b5c96bea1c8f905344329f091e36b (diff) | |
download | px4-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')
-rwxr-xr-x | nuttx/configs/ea3131/README.txt | 25 | ||||
-rwxr-xr-x | nuttx/configs/ea3131/tools/armusbocd.cfg | 34 | ||||
-rwxr-xr-x | nuttx/configs/ea3131/tools/oocd.sh | 43 |
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" + + + + |