X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=TODO;h=f6acf7e3495cbccef2dd3d7ccf83867377a26a55;hp=335b7c61061d2f13b1f67f3d68e2565c18e1da60;hb=e666807a6ffc592be03dddb90ad2d40f2011c8d6;hpb=8b4e882a1630d63bbc9840fa3f968e36b6ac3702 diff --git a/TODO b/TODO index 335b7c6106..f6acf7e349 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,150 @@ -- Additional cores. ARM9E(J)-S, ARM7TDMI-S, TI925, ... -- Testing. -- Additional jtag interfaces. Currently, only Wiggler style interfaces and - USBJTAG-1 are supported. -- Testing. -- Handle endianess. The configuration variable is there, but that's about it. - Currently, only little-endian targets and little-endian hosts are supported. +/** @page thelist Pending and Open Tasks + +This page lists pending and open tasks being considered or worked upon +by the OpenOCD community. + + +Items with a current patch available should include a link to its +posting on the openocd-developer mailing list archives. + +Some items may be in progress, usually indicated by the individual whose +initials in parentheses following it. A key for decoding these initials +appears after The List. + +Most items are open for the taking, but please post to the mailing list +before spending much time working on anything lists here. The community +may have evolved an idea since it was added here. + +Feel free to send patches to add or clarify items on this list, too. + +@verbatim +================================================================== + The List +------------------------------------------------------------------ +@endverbatim + +- JTAG/TAP changes: + - update all drivers to use tap_get_tms_path_len API. + - use tap_set_state everywhere to allow logging TAP state transitions + - rename other tap_states to use standard JTAG names (suggested by ML) + - retire jtag_add_end_state() and replace w/global variable. This also + removes TAP_INVALID as an argument to jtag_add_xxxx(). The global variable + as argument to jtag_add_xxxx() should eventually be phased out, but + the global variable is useful in an interim phase where one needs to + be bug by bug compatible before each change can be tested. Suggested + by ØH. Michael Bruck also interested in this. + +- JTAG Interfaces: + - autodetect devices present on the scan chain + - implement 'discover_taps' command + - FT2232 driver: (DH) + - integrate FTD2XX High-Speed Device support + - PATCH: https://lists.berlios.de/pipermail/openocd-development/2009-April/005479.html + - massive set of changes (DH): + - fixes non-recoverability of cable connect/reconnect + - https://lists.berlios.de/pipermail/openocd-development/2009-May/006011.html + - further cleanup (DH): + - PATCH: https://lists.berlios.de/pipermail/openocd-development/2009-May/006112.html + - fix outstanding bugs + - J-Link driver: (ZW) + - fix outstanding bugs + - test with known targets (i.e. working with other interfaces) + - test compatibility between v6.0 (yellow) and older units (e.g. v5.2) + - TCP driver: + - add TCP/IP client and server for remote JTAG interface control + - Do others need some help? Probably.... + +- Other Interfaces + - SVF/XSVF: + - pending tasks?? + - SPI/UART emulation: + - (ab)use bit-banging JTAG interfaces to emulate SPI/UART + - allow SPI to program flash, MCUs, etc. + - SWD + +- Target Support: + - general layer cleanup: + - https://lists.berlios.de/pipermail/openocd-development/2009-May/006590.html + - ARM11 improvements (MB?) + - fix single stepping (reported by ØH) + - implement missing functionality (grep FNC_INFO_NOTIMPLEMENTED ...) + - Cortex A8 support (ML) + - add target implementation (ML) + - what else remains to be done? + - 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) + - AT91SAM92xx: + - improvements for unknown-board-atmel-at91sam9260.cfg (RD) + - STR9x: (ZW) + - improvements to str912.cfg to be more general purpose + - AVR: (SQ) + - independently verify implementation + - incrementally improve working prototype in trunk. (SQ) + - work out how to debug this target + - AVR debugging protocol. + - FPGA: + - improve things (??) + - Coldfire (suggested by NC) + - can we draw from the BDM project? @par + http://bdm.sourceforge.net/ + + - other targets? (suggestions always welcome) + +- CFI: + - finish implementing bus width/chip width handling (suggested by NC) + - factor vendor-specific code into separate source files + - add new callback interface for vendor-specific code + - investigate/implement "thin wrapper" to use eCos CFI drivers (ØH) + +- TCL + - Isolate all TCL command support: + - Allow pure C CLI implementations using --disable-builtin-tcl. + Ref? How could this be made to work given targets extensive need + for events, etc.? What about the target library? + - Allow full TCL support? add --with-tcl=/path/to/installed/tcl + - Move TCL support in foo.* to foo_tcl.* (other ideas?) + +- Debugger Support + - Keil AGDI interface to OpenOCD (submitted by Dario Vecchio) + +- Architectural Upgrades + - Allow N:M:P mapping of servers, targets, and interfaces + - loadable module support for interface/target/flash drivers + - libopenocd support: @par + https://lists.berlios.de/pipermail/openocd-development/2009-May/006405.html + +- Test Suite: + - implement server unit tests + - implement JTAG core unit tests + - implement JTAG interface unit tests + - implement flash unit tests + - implement target unit tests + +- Test Feedback Tools: @par + https://lists.berlios.de/pipermail/openocd-development/2009-May/006358.html + + - extend target test script to produce helpful pass/fail output + - provide results submission script + + +- Generic Hardware Tester: + - implement VHDL to use for FPGA-based JTAG TAP testing device + - develop test suite that utilizes this testing device + +- Build Systems (Autotools, CMake, etc.) + - investigate fixes to permit the use of -Wshadow + - change bootstrap to call 'configure --enable-maintainer-mode '? + +- Miscellaneous: + - make JTAG and USB debug output a run-time configuration option + - review and clean up interface/target/flash APIs + - factor code to eliminate duplicated functionality + - overhaul use of types to improve 32/64-bit portability + +- Berlios Admin: + - use patch tracker? @par + https://developer.berlios.de/patch/?group_id=4148 + - use bug tracking? we need something! + +*/