summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-10-26 00:36:03 -0700
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-10-26 00:36:03 -0700
commit6cb1d10cdad509939e3decf089e08c289d85d5cf (patch)
treead1b0c30d9b95c0ee34594a0f538bd68133efe2e /TODO
parent0cac8b67be5c6f6f5b2bc3a86f78d4d02e364792 (diff)
downloadopenocd+libswd-6cb1d10cdad509939e3decf089e08c289d85d5cf.tar.gz
openocd+libswd-6cb1d10cdad509939e3decf089e08c289d85d5cf.tar.bz2
openocd+libswd-6cb1d10cdad509939e3decf089e08c289d85d5cf.tar.xz
openocd+libswd-6cb1d10cdad509939e3decf089e08c289d85d5cf.zip
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--TODO9
1 files changed, 7 insertions, 2 deletions
diff --git a/TODO b/TODO
index 6f9c7494..f567a82f 100644
--- a/TODO
+++ b/TODO
@@ -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