Added tip in documentation on how to translate quirky syntax
This commit is contained in:
parent
7b650a6abe
commit
bffe824df6
|
@ -66,6 +66,7 @@ Free Documentation License''.
|
||||||
* Running:: Running OpenOCD
|
* Running:: Running OpenOCD
|
||||||
* OpenOCD Project Setup:: OpenOCD Project Setup
|
* OpenOCD Project Setup:: OpenOCD Project Setup
|
||||||
* Config File Guidelines:: Config File Guidelines
|
* Config File Guidelines:: Config File Guidelines
|
||||||
|
* Translating Configuration Files:: Translating Configuration Files
|
||||||
* Daemon Configuration:: Daemon Configuration
|
* Daemon Configuration:: Daemon Configuration
|
||||||
* Interface - Dongle Configuration:: Interface - Dongle Configuration
|
* Interface - Dongle Configuration:: Interface - Dongle Configuration
|
||||||
* Reset Configuration:: Reset 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},
|
You should find the following directories under @t{$(INSTALLDIR)/scripts},
|
||||||
with files including the ones listed here.
|
with files including the ones listed here.
|
||||||
Use them as-is where you can; or as models for new files.
|
Use them as-is where you can; or as models for new files.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item @file{interface} ...
|
@item @file{interface} ...
|
||||||
think JTAG Dongle. Files that configure JTAG adapters go here.
|
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.
|
@item pxa270 - again - CS0 flash - it goes in the board file.
|
||||||
@end itemize
|
@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
|
@node Daemon Configuration
|
||||||
@chapter Daemon Configuration
|
@chapter Daemon Configuration
|
||||||
@cindex initialization
|
@cindex initialization
|
||||||
|
|
|
@ -21,6 +21,9 @@ proc setc15 {regs value} {
|
||||||
|
|
||||||
proc imx35pdk_init { } {
|
proc imx35pdk_init { } {
|
||||||
|
|
||||||
|
# this reset script comes from the Freescale PDK
|
||||||
|
#
|
||||||
|
# http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX35PDK
|
||||||
|
|
||||||
echo "Target Setup: initialize DRAM controller and peripherals"
|
echo "Target Setup: initialize DRAM controller and peripherals"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue