X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=TODO;h=c73d772e23ee8c37aa8d7b671e47047d66e4ba70;hb=6900c5af4ec3f6df52227169d7d897eb14a44bca;hp=aa2277c1a0b1b7a8c6fc365066451c8c796cff00;hpb=4960c9018f2560b11ede91cde8a68dc56c690159;p=openocd.git diff --git a/TODO b/TODO index aa2277c1a0..c73d772e23 100644 --- a/TODO +++ b/TODO @@ -37,11 +37,34 @@ This section provides possible things to improve with OpenOCD's TCL support. - See src/jtag/core.c and src/jtag/tcl.c for an example. - allow some of these TCL command modules to be dynamically loadable? -@section thelistjtag JTAG - -This section list issues that need to be resolved in the JTAG layer. - -@subsection thelistjtagcore JTAG Core +@section thelistadapter Adapter + +This section list issues that need to be resolved in the Adapter layer. + +@subsection thelistadapterrework Code restructuring + +This section lists pending reworks to complete the restructure from the +old JTAG centric implementation to a generic Adapter layer. +This restructuring is very invasive and will prevent the merge of several +changes pending in gerrit. + +- rename folder src/jtag/ to src/adapter/ +- rename var "jtag" to "adapter" in src/jtag/core.c +- split content of src/adapter/ in the different protocols jtag.[ch], + swd.[ch], ... +- wrap the calls to adapter->transport_ops->api() with transport_api() + and reduce the visibility of global var "adapter" +- complete the migration of JTAG-only drivers to adapter->reset() +- try to remove JTAG_SLEEP also from JTAG mode? +- tap_set_state(TAP_RESET) is already done in src/jtag/core.c. No need + to replicate it in the drivers, apart in case the driver sets TRST + independently +- separate SWIM from HLA and make it independent +- add .hla_ops and .swim_ops to "adapter" +- HLA is a API level (.hla_ops). Transport should simply be {jtag,swd}, + not {hla_jtag,hla_swd}. + +@subsection thelistadapterjtagcore JTAG Core The following tasks have been suggested for cleaning up the JTAG layer: @@ -63,9 +86,9 @@ The following tasks have been suggested for adding new core JTAG support: - (ab)use bit-banging JTAG interfaces to emulate SPI/UART - allow SPI to program flash, MCUs, etc. -@subsection thelistjtaginterfaces JTAG Interfaces +@subsection thelistadapterinterfaces Interface drivers -There are some known bugs to fix in JTAG adapter drivers: +There are some known bugs to fix in Interface drivers: - For JTAG_STATEMOVE to TAP_RESET, all drivers must ignore the current recorded state. The tap_get_state() call won't necessarily return @@ -93,9 +116,6 @@ interface support: -# rewrite implementation to use non-blocking I/O - J-Link driver: - fix to work with long scan chains, such as R.Doss's svf test. -- FT2232 (libftdi): - - make performance comparable to alternatives (on Win32, D2XX is faster) - - make usability comparable to alternatives - Autodetect USB based adapters; this should be easy on Linux. If there's more than one, list the options; otherwise, just select that one. @@ -110,10 +130,6 @@ of a minidriver is required to capture all the jtag_add_xxx() fn's at a high enough level and repackage these cmd's as TCP/IP packets handled by the server. -@section thelistswd Serial Wire Debug - -- implement Serial Wire Debug interface - @section thelistbs Boundary Scan Support - add STAPL support? @@ -170,9 +186,9 @@ https://lists.berlios.de/pipermail/openocd-development/2009-October/011506.html garabage. - implement missing functionality (grep FNC_INFO_NOTIMPLEMENTED ...) - Thumb2 single stepping: ARM1156T2 needs simulator support -- Cortex A8 support (ML) +- Cortex-A8 support (ML) - add target implementation (ML) -- Cortex M3 support +- Cortex-M3 support - when stepping, only write dirtied registers (be faster) - when connecting to halted core, fetch registers (startup is quirky) - Generic ARM run_algorithm() interface @@ -214,7 +230,6 @@ https://lists.berlios.de/pipermail/openocd-development/2009-October/011506.html - finish documentation for the following flash drivers: - avr - - ecosflash - pic32mx - ocl - str9xpec @@ -369,7 +384,6 @@ to complete: - committing to git - Review Users' Guide for documentation errors or omissions - "capture" and "ocd_find" commands - - "ocd_" prefix on various stuff - Update Developer's Manual (doxygen output) - Add documentation describing the architecture of each module - Provide more Technical Primers to bootstrap contributor knowledge @@ -378,4 +392,3 @@ to complete: /** @file This file contains the @ref thelist page. */ -