removed solved mem2array problem.
[openocd.git] / TODO
1 /** @page thelist Pending and Open Tasks
2
3 This page lists pending and open tasks being considered or worked upon
4 by the OpenOCD community.
5
6
7 Items with a current patch available should include a link to its
8 posting on the openocd-developer mailing list archives.
9
10 Some items may be in progress, usually indicated by the individual whose
11 initials in parentheses following it.  A key for decoding these initials
12 appears after The List.
13
14 Most items are open for the taking, but please post to the mailing list
15 before spending much time working on anything lists here.  The community
16 may have evolved an idea since it was added here.
17
18 Feel free to send patches to add or clarify items on this list, too.
19
20 @verbatim
21 ================================================================== 
22                              The List
23 ------------------------------------------------------------------
24 @endverbatim
25
26 - JTAG/TAP changes:
27   - update all drivers to use tap_get_tms_path_len API.
28   - use tap_set_state everywhere to allow logging TAP state transitions
29   - rename other tap_states to use standard JTAG names (suggested by ML)
30   - retire jtag_add_end_state() and replace w/global variable. This also
31   removes TAP_INVALID as an argument to jtag_add_xxxx(). The global variable
32   as argument to jtag_add_xxxx() should eventually be phased out, but
33   the global variable is useful in an interim phase where one needs to
34   be bug by bug compatible before each change can be tested. Suggested
35   by ØH. Michael Bruck also interested in this.
36   
37 - JTAG Interfaces:
38   - autodetect devices present on the scan chain
39     - implement 'discover_taps' command
40   - FT2232 driver: (DH)
41     - integrate FTD2XX High-Speed Device support
42       - PATCH: https://lists.berlios.de/pipermail/openocd-development/2009-April/005479.html
43     - massive set of changes (DH):
44       - fixes non-recoverability of cable connect/reconnect
45       - https://lists.berlios.de/pipermail/openocd-development/2009-May/006011.html
46     - further cleanup (DH):
47       - PATCH: https://lists.berlios.de/pipermail/openocd-development/2009-May/006112.html
48     - fix outstanding bugs
49   - J-Link driver: (ZW)
50     - fix outstanding bugs
51     - test with known targets (i.e. working with other interfaces)
52     - test compatibility between v6.0 (yellow) and older units (e.g. v5.2)
53   - TCP driver:
54     - add TCP/IP client and server for remote JTAG interface control
55   - Do others need some help?  Probably....
56
57 - Other Interfaces
58   - SVF/XSVF:
59     - pending tasks??
60   - SPI/UART emulation:
61     - (ab)use bit-banging JTAG interfaces to emulate SPI/UART
62     - allow SPI to program flash, MCUs, etc.
63   - SWD
64
65 - Target Support:
66   - general layer cleanup:
67     - https://lists.berlios.de/pipermail/openocd-development/2009-May/006590.html
68   - ARM11 improvements (MB?)
69     - fix single stepping  (reported by ØH)
70     - implement missing functionality (grep FNC_INFO_NOTIMPLEMENTED ...)
71   - Cortex A8 support (ML)
72     - add target implementation (ML)
73     - what else remains to be done?
74   - MC1322x support (JW/DE?)
75     - integrate and test support from JW (and DE?)
76     - get working with a known good interface (i.e. not today's jlink)
77   - AT91SAM92xx:
78     - improvements for unknown-board-atmel-at91sam9260.cfg (RD)
79   - STR9x: (ZW)
80     - improvements to str912.cfg to be more general purpose
81   - AVR: (SQ)
82     - independently verify implementation
83     - incrementally improve working prototype in trunk. (SQ)
84     - work out how to debug this target
85     - AVR debugging protocol.
86   - FPGA:
87     - improve things (??)
88   - Coldfire (suggested by NC)
89     - can we draw from the BDM project?  @par
90       http://bdm.sourceforge.net/
91
92   - other targets?  (suggestions always welcome)
93
94 - CFI:
95   - finish implementing bus width/chip width handling (suggested by NC)
96   - factor vendor-specific code into separate source files
97   - add new callback interface for vendor-specific code
98   - investigate/implement "thin wrapper" to use eCos CFI drivers (ØH)
99
100 - TCL
101   - Isolate all TCL command support: 
102     - Allow pure C CLI implementations using --disable-builtin-tcl. 
103     Ref? How could this be made to work given targets extensive need
104     for events, etc.? What about the target library?
105     - Allow full TCL support? add --with-tcl=/path/to/installed/tcl
106     - Move TCL support in foo.* to foo_tcl.* (other ideas?)
107
108 - Debugger Support
109   - Keil AGDI interface to OpenOCD (submitted by Dario Vecchio)
110
111 - Architectural Upgrades
112   - Allow N:M:P mapping of servers, targets, and interfaces
113   - loadable module support for interface/target/flash drivers
114   - libopenocd support: @par
115       https://lists.berlios.de/pipermail/openocd-development/2009-May/006405.html
116
117 - Test Suite:
118   - implement server unit tests
119   - implement JTAG core unit tests
120   - implement JTAG interface unit tests
121   - implement flash unit tests
122   - implement target unit tests
123
124 - Test Feedback Tools: @par
125       https://lists.berlios.de/pipermail/openocd-development/2009-May/006358.html
126
127   - extend target test script to produce helpful pass/fail output
128   - provide results submission script
129
130
131 - Generic Hardware Tester:
132   - implement VHDL to use for FPGA-based JTAG TAP testing device
133   - develop test suite that utilizes this testing device
134
135 - Build Systems (Autotools, CMake, etc.)
136   - investigate fixes to permit the use of -Wshadow
137   - change bootstrap to call 'configure --enable-maintainer-mode <opts>'?
138
139 - Miscellaneous:
140   - make JTAG and USB debug output a run-time configuration option
141   - review and clean up interface/target/flash APIs 
142   - factor code to eliminate duplicated functionality
143   - overhaul use of types to improve 32/64-bit portability
144
145 - Berlios Admin:
146   - use patch tracker? @par
147     https://developer.berlios.de/patch/?group_id=4148
148   - use bug tracking?  we need something!
149
150 */