summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2009-10-09 09:03:53 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2009-10-09 09:03:53 +0200
commitbffe824df6f92a2e88932c9b6d01b26b3a0cc598 (patch)
tree2161a407f08e03a6fdb2a74e9659efde4160b00d /doc
parent7b650a6abefbede7beffff32ef38518b026ea060 (diff)
downloadopenocd+libswd-bffe824df6f92a2e88932c9b6d01b26b3a0cc598.tar.gz
openocd+libswd-bffe824df6f92a2e88932c9b6d01b26b3a0cc598.tar.bz2
openocd+libswd-bffe824df6f92a2e88932c9b6d01b26b3a0cc598.tar.xz
openocd+libswd-bffe824df6f92a2e88932c9b6d01b26b3a0cc598.zip
Added tip in documentation on how to translate quirky syntax
Diffstat (limited to 'doc')
-rw-r--r--doc/openocd.texi42
1 files changed, 41 insertions, 1 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 11bd7e0a..daa94609 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -66,6 +66,7 @@ Free Documentation License''.
* Running:: Running OpenOCD
* OpenOCD Project Setup:: OpenOCD Project Setup
* Config File Guidelines:: Config File Guidelines
+* Translating Configuration Files:: Translating Configuration Files
* Daemon Configuration:: Daemon Configuration
* Interface - Dongle Configuration:: Interface - Dongle Configuration
* Reset Configuration:: Reset Configuration
@@ -911,7 +912,6 @@ It provides guidelines for creating those files.
You should find the following directories under @t{$(INSTALLDIR)/scripts},
with files including the ones listed here.
Use them as-is where you can; or as models for new files.
-
@itemize @bullet
@item @file{interface} ...
think JTAG Dongle. Files that configure JTAG adapters go here.
@@ -1464,6 +1464,46 @@ Examples:
@item pxa270 - again - CS0 flash - it goes in the board file.
@end itemize
+@node Translating Configuration Files
+@chapter Translating Configuration Files
+@cindex translation
+If you have a configuration file for another hardware debugger(Abatron,
+BDI2000, BDI3000, Lauterbach, Segger, MacRaigor, etc.), translating
+it into OpenOCD syntax is often quite straightforward. The most tricky
+part of creating a configuration script is oftentimes the reset init
+sequence where e.g. PLLs, DRAM and the like is set up.
+
+One trick that you can use when translating is to write small
+Tcl proc's to translate the syntax into OpenOCD syntax. This
+can avoid manual translation errors and make it easier to
+convert other scripts later on.
+
+Example of transforming quirky arguments to a simple search and
+replace job:
+
+@example
+# rewrite commands of the form below to arm11 mcr...
+#
+# Lauterbach syntax(?)
+#
+# Data.Set c15:0x042f %long 0x40000015
+#
+# OpenOCD syntax when using procedure below.
+#
+# setc15 0x01 0x00050078
+#
+#
+proc setc15 @{regs value@} @{
+ global TARGETNAME
+
+ echo [format "set p15 0x%04x, 0x%08x" $regs $value]
+
+ arm11 mcr $TARGETNAME 15 [expr ($regs>>12)&0x7] [expr ($regs>>0)&0xf] [expr ($regs>>4)&0xf] [expr ($regs>>8)&0x7] $value
+@}
+@end example
+
+
+
@node Daemon Configuration
@chapter Daemon Configuration
@cindex initialization