- add 'dap create' command to create dap instances - move all dap subcmmand into the dap instance commands - keep 'dap info' for convenience - change all armv7 and armv8 targets to take a dap instance instead of a jtag chain position - restructure tap/dap/target relations, jtag tap no longer references the dap, daps are now independently created and initialized. - clean up swd connect - re-initialize DAP also on JTAG errors (e.g. after reset, power cycle) - update documentation - update target files Change-Id: I322cf3969b5407c25d1d3962f9d9b9bc1df067d9 Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/4468 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
47 lines
1.5 KiB
INI
47 lines
1.5 KiB
INI
# Analog Devices ADSP-SC58x (ARM Cortex-A5 plus one or two SHARC+ DSPs)
|
|
|
|
# evaluation boards by Analog Devices (and designs derived from them) use a non-standard 10-pin 0.05" ARM Cortex Debug Connector
|
|
# pin 9 (GND or GNDDetect) has been usurped with JTAG /TRST
|
|
# as a result, a standards-compliant debug pod will only force the processor's debug interface into reset, preventing usage
|
|
# so, a connector adapter must be employed on these boards to isolate or otherwise prevent /TRST from being asserted
|
|
|
|
transport select swd
|
|
source [find target/swj-dp.tcl]
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME ADSP-SC58x
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
if { [info exists CPUTAPID] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0x3BA02477
|
|
}
|
|
|
|
swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
|
|
dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME cortex_a -endian $_ENDIAN -dap $_CHIPNAME.dap
|
|
|
|
$_TARGETNAME configure -event examine-end {
|
|
global _TARGETNAME
|
|
sc58x_enabledebug $_TARGETNAME
|
|
}
|
|
|
|
proc sc58x_enabledebug {target} {
|
|
# Enable debugging functionality by setting relevant bits in the TAPC_DBGCTL register
|
|
# the "phys" option is critical; the OpenOCD Cortex-A target code prevents normal mww when the target is not halted
|
|
# however, it is not possible to halt the target unless these register bits have been set
|
|
$target mww phys 0x31131000 0xFFFF
|
|
}
|
|
|