@subsection thelistjtaginterfaces JTAG Interfaces
+There are some known bugs to fix in JTAG adapter drivers:
+
+- For JTAG_STATEMOVE to TAP_RESET, all drivers must ignore the current
+ recorded state. The tap_get_state() call won't necessarily return
+ the correct value, especially at server startup. Fix is easy: in
+ that case, always issue five clocks with TMS high.
+ - amt_jtagaccel.c
+ - arm-jtag-ew.c
+ - bitbang.c
+ - bitq.c
+ - gw16012.c
+ - jlink.c
+ - usbprog.c
+ - vsllink.c
+ - rlink/rlink.c
+
The following tasks have been suggeted for improving OpenOCD's JTAG
interface support:
- J-Link driver:
- fix to work with long scan chains, such as R.Doss's svf test.
- FT2232 (libftdi):
- - make performance comparable to alternatives
+ - make performance comparable to alternatives (on Win32, D2XX is faster)
- make usability comparable to alternatives
The following tasks have been suggested for adding new JTAG interfaces:
https://lists.berlios.de/pipermail/openocd-development/2009-July/009426.html
- regression: "reset halt" between 729(works) and 788(fails): @par
https://lists.berlios.de/pipermail/openocd-development/2009-July/009206.html
+- ARM7/9:
+ - add reset option to allow programming embedded ice while srst is asserted.
+ Some CPUs will gate the JTAG clock when srst is asserted and in this case,
+ it is necessary to program embedded ice and then assert srst afterwards.
- ARM923EJS:
- reset run/halt/step is not robust; needs testing to map out problems.
- ARM11 improvements (MB?)
- - fix single stepping (reported by ØH)
+ - fix single stepping (reported by ØH). Need to automatically
+ use hardware stepping if available.
+ - hunt down and add timeouts to all infinite loops, e.g. arm11_run_instr_no_data would
+ lock up in infinite loop if e.g. an "mdh" command tries to read memory from invalid memory location.
+ Try mdh 0x40000000 on i.MX31 PDK
+ - mdb can return garbage data if read byte operation fails for
+ a memory region(16 & 32 byte access modes may be supported). Is this
+ a bug in the .MX31 PDK init script? Try on i.MX31 PDK:
+ mdw 0xb80005f0 0x8, mdh 0xb80005f0 0x10, mdb 0xb80005f0 0x20. mdb returns
+ garabage.
- implement missing functionality (grep FNC_INFO_NOTIMPLEMENTED ...)
+ - thumb support is missing: ISTR ARMv6 requires Thumb.
+ ARM1156 has Thumb2; ARM1136 doesn't.
- Cortex A8 support (ML)
- add target implementation (ML)
+- Generic ARM run_algorithm() interface
+ - tagged struct wrapping ARM instructions and metadata
+ - not revision-specific (current: ARMv4+ARMv5 -or- ARMv6 -or- ARMv7)
+ - usable with at least arm_nandwrite() and generic CFI drivers
- MC1322x support (JW/DE?)
- integrate and test support from JW (and DE?)
- get working with a known good interface (i.e. not today's jlink)