To All Ye Linaro Toolchain Folk, (and OpenOCD developers too)
After a week of reading specifications and code, I am ready to start doing some serious hacking on OpenOCD. The following outlines my present plans and expectations, with the caveat that time can change everything.
Last week, I started testing my BeagleBoard with OpenOCD, so I have begun trying to validate and improve the Cortex-A8 support. Indeed, I have already committed a minor patch that fixed a bug in the trunk caused by new command syntax required to distinguish physical memory addresses from virtual ones. That bug had been preventing the BeagleBoard support from working for several months, so this seems to show that nobody has been using (or even testing) the latest code with that board.
It seems that much of the debug architecture can be shared between these two cores, so features added and bugs fixed for A8 should help me implement A9 faster. Indeed, A9 support may be more a matter of refactoring the existing code than developing new code. In this respect, the lists of tasks for A8 and A9 may end up proceeding in parallel.
Cortex-A8: 1) Add missing topology detection for determining location of AHB-AP (for system memory access), APB-AP (for DAP and other CoreSight components), and register address range for accessing the DAP. 2) Fix Halt After Reset functionality (using vector catch magic). 3) Expose missing VFP3/NEON registers (only when present). 4) Fix various memory and resource leaks.
Cortex-A9: 1) Basic bring-up to successful attachment with debugger. 2) Develop board scripts for common evaluation boards. 3) Work on advanced features: - download and run algorithms out of memory, - breakpoints/watchpoints, - tracing and performance monitoring, 4) Ensure SMP support works out-of-the-box.
Finally, it would be good to produce a new release when all of these changes have made it into the tree. Due to various factors, the project has not achieved a regular release schedule, but these features would help to justify the effort from the community.
P.S. I have cc'd the openocd-development list in the hope of generating useful feedback, but it requires subscribing to post (last I checked). Sorry for the bad netiquette.