Hi all,
Here is The List of outstanding tasks for the OpenOCD project and those
working on the various tasks. Please review those items in which you
have an interest and provide corrections, additions, or other feedback.
Since my last post, the mailing list has continued to hum with activity.
There were numerous responses to my calls for features, and I tried to
follow all the threads and add items to The List (and then remove them
if they were subsequently resolved). So much has happened that I do not
know if I have covered everything in this update.
The project has committed its first support for AVR programming!
Provided by Simon Qian, this implementation went from concept to
prototype in less than a week, and there are plans for it to continue to
move forward in positive directions. I have been astounded at how
quickly this new target support came together; The List had to be
revised repeatedly in order to keep up with all of the progress.
On the J-Link front, I sorted out and sent patches that Jeff Williams
had created. While these helped some folks, there remain problems for a
substantial number of users; more reports trickled in about old and new
versions of the device in the field. I continue to personally work on
this driver, so you should see me providing patches and reports.
Users of the Keil uVision IDE were provided with a rough cut of an AGDI
plug-in for using OpenOCD; Dario Vecchio posted his implementation along
with references to the related specifications; I hope someone will take
these pieces and provide a complete and robust solution (in tree?).
OMAP3 and Cortex-{M3,A8} support were improved by patches provided by
Magnus Lundin. CMake support provided by Dick Hollenbeck continues to
be considered; if you have not chimed in, voice your opinions on this.
Numerous other patches appeared and were committed, so I apologize if
something noteworthy happened that I did not mention. Feel free to
chime in with your own reports.
Thanks to everyone that has been contributing! Your community support
will continue to bring success to OpenOCD as an open source project.
Cheers,
Zach Welch
Corvallis, OR
==================================================================
The List
==================================================================
OpenOCD's Pending and Open Tasks
------------------------------------------------------------------
The '+' items have a current patch, 'o' are in progress by the
individual whose initials are indicated, and '-' items are open.
The key to initials associated with tasks appears after the list.
* JTAG/TAP changes:
- use tap_set_state everywhere to allow logging TAP state transitions
+ rework TAP state table (started by JW, but still needs work)
- update tap_get_tms_path API (suggested by DE)
- slow boat: add tap_get_tms_path2 and allow both for a while
- convert drivers that use old API over to the new one
- remove old tap_get_tms_path
- rename other tap_states to use standard JTAG names (suggested by ML)
- write script that automate production of the series of 16-17 patches
- produce and distribute current series against the current trunk
- distribute script so developers can use on WC through live commits
- make live commits after giving sufficient notice to others
- add TAP_UNKNOWN to augment TAP_INVALID? (suggested by ML/DH)
* CFI:
+ speed enhancements (posted Apr 22 by NC) (??)
- factor vendor-specific code into separate source files
- add new callback interface for vendor-specific code
- finish implementing bus width/chip width handling (suggested by NC)
- investigate/implement "thin wrapper" to use eCos CFI drivers (ØH)
* JTAG Interfaces:
o FT2232 driver: (DH)
+ integrate FTD2XX High-Speed Device Patch (JK+ZW)
- fix segfault from long scan chains (observed by DH)
- fix non-recoverability of cable connect/reconnect (seen by DH)
- cure buggy madness
o J-Link driver: (ZW)
+ add state debugging (provided by JW)
- cure buggy madness
- test with known targets (i.e. working with other interfaces)
- test compatibility between v6.0 (yellow) and older units (e.g. v5.2)
- Do others need some help? Probably....
- TCP driver:
- add TCP/IP client and server for remote JTAG interface control
* 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:
- ARM11 improvements (MB?)
- fix single stepping (reported by ØH)
- implement missing functionality (grep FNC_INFO_NOTIMPLEMENTED ...)
o Cortex A8 support (ML)
o add target implementation
- 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
- FPGA:
- improve things (??)
- Coldfire (suggested by NC)
- can we draw from the BDM project? http://bdm.sourceforge.net/
- other targets? (suggestions always welcome)
* Debugger Support
- AVR debugging protocol.
- 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
* Test Suite:
- implement server unit tests
- implement JTAG core unit tests
- implement JTAG interface unit tests
- implement flash unit tests
- implement target unit tests
* 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.)
- add -std=c99 or similar build option
- investigate fixes to permit the use of -Wshadow
- change bootstrap to call 'configure --enable-maintainer-mode <opts>'?
- CMake:
+ commit initial support
- vet by the community
* Miscellaneous:
+ continue to improve state and system debugging (from JW) (ZW)
- 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:
- salvage patches? https://developer.berlios.de/patch/?group_id=4148
==================================================================
OpenOCD's Active Developers and Testers
------------------------------------------------------------------
** - Name - Status - Targets - Interfaces
NC - Nico Coesel - * - AU1100 - *
DE - Duane Ellis - * - * - *
DH - Dick Hollenbeck - * - * - FT2232
ØH - Øyvind Harboe - * - * - ZY1000
JK - Joern Keipf - * - * - FT2232H/FT4232HS?
JW - Jeff Williams - ? - MC1322x - J-Link
MA - Mariano Alvira - * - MC1322x - J-Link, FTDI
MB - Michael Bruck - * - ARM11 - *
ML - Magnus Lundin - * - * - *
RA - Rick Altherr - * - * - *
RD - Rene Doss - * - AT91SAM92xx - *
SQ - Simon Qian - * - AVR - *
ZW - Zach Welch - * - STR912 - J-Link
Status Key:
* - Active Developer/Tester
? - Missing In Action
V - On Vacation
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development