diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-26 00:36:03 -0700 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-26 00:36:03 -0700 |
commit | 6cb1d10cdad509939e3decf089e08c289d85d5cf (patch) | |
tree | ad1b0c30d9b95c0ee34594a0f538bd68133efe2e /TODO | |
parent | 0cac8b67be5c6f6f5b2bc3a86f78d4d02e364792 (diff) | |
download | riscv-openocd-6cb1d10cdad509939e3decf089e08c289d85d5cf.zip riscv-openocd-6cb1d10cdad509939e3decf089e08c289d85d5cf.tar.gz riscv-openocd-6cb1d10cdad509939e3decf089e08c289d85d5cf.tar.bz2 |
JTAG: simple autoprobing
This patch adds basic autoprobing support for the JTAG scan chains
which cooperate. To use, you can invoke OpenOCD with just:
- interface spec: "-f interface/...cfg"
- possibly with "-c 'reset_config ...'" for SRST/TRST
- possibly with "-c 'jtag_khz ...'" for the JTAG clock
Then set up config files matching the reported TAPs. It doesn't
declare targets ... just TAPs. So facilities above the JTAG and
SVF/XSVF levels won't be available without a real config; this is
almost purely a way to generate diagnostics.
Autoprobe was successful with most boards I tested, except ones
incorporating C55x DSPs (which don't cooperate with this scheme
for IR length autodetection). Here's what one multi-TAP chip
reported, with the "Warn:" prefixes removed:
clock speed 500 kHz
There are no enabled taps. AUTO PROBING MIGHT NOT WORK!!
AUTO auto0.tap - use "jtag newtap auto0 tap -expected-id 0x2b900f0f ..."
AUTO auto1.tap - use "jtag newtap auto1 tap -expected-id 0x07926001 ..."
AUTO auto2.tap - use "jtag newtap auto2 tap -expected-id 0x0b73b02f ..."
AUTO auto0.tap - use "... -irlen 4"
AUTO auto1.tap - use "... -irlen 4"
AUTO auto2.tap - use "... -irlen 6"
no gdb ports allocated as no target has been specified
The patch tweaks IR setup a bit, so we can represent TAPs with
undeclared IR length.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -55,8 +55,10 @@ directly in minidriver API for better embedded host performance. The following tasks have been suggested for adding new core JTAG support: -- autodetect devices present on the scan chain - - implement 'discover_taps' command +- Improve autodetection of TAPs by supporting tcl escape procedures that + can configure discovered TAPs based on IDCODE value ... they could: + - Remove guessing for irlen + - Allow non-default irmask/ircapture values - SPI/UART emulation: - (ab)use bit-banging JTAG interfaces to emulate SPI/UART - allow SPI to program flash, MCUs, etc. @@ -94,6 +96,8 @@ interface support: - FT2232 (libftdi): - make performance comparable to alternatives (on Win32, D2XX is faster) - make usability comparable to alternatives +- Autodetect USB based adapters; this should be easy on Linux. If there's + more than one, list the options; otherwise, just select that one. The following tasks have been suggested for adding new JTAG interfaces: @@ -133,6 +137,7 @@ Once the above are completed: @section thelisttargets Target Support +- Many common ARM cores could be autodetected using IDCODE - general layer cleanup: @par https://lists.berlios.de/pipermail/openocd-development/2009-May/006590.html - regression: "reset halt" between 729(works) and 788(fails): @par |