Add architectural introduction to the JTAG module in The Manual.
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Jun 2009 02:57:55 +0000 (02:57 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 3 Jun 2009 02:57:55 +0000 (02:57 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@2024 b42882b7-edfa-0310-969c-e2dbd0fdcd60

doc/manual/jtag.txt
doc/manual/main.txt

index 3c8a181ca5619c2c081f8e64aa3a32ffb311f2d6..332b05d9d44a4bdbb95ebaeec28314fc893f295f 100644 (file)
@@ -1,38 +1,61 @@
-/** @page jtagdocs OpenOCD JTAG APIs
+/** @page jtagdocs JTAG APIs
 
 For new developers unfamiliar with the technology, @ref primerjtag provides
 a brief introduction to the IEEE JTAG interface.
 
-The OpenOCD JTAG library API covers several functional areas:
-
-  - @subpage jtagcable
-  - @subpage jtagtap
-  - @subpage jtagmdriver
-  - @subpage jtagdriver
-
-This section needs to be expanded.
+The OpenOCD JTAG library API covers several functional areas.  The jtag
+@b core communicates through the @b minidriver API with either its full
+@a driver implementation (src/jtag/jtag_driver.c) or a @a minidriver .
+Internally, the @b command API is used by the JTAG driver for managing
+asynchronous transactions.
+
+- @subpage jtagcore
+  - @b public API routines
+  - declared in @c src/jtag/jtag.h
+  - used by other modules
+
+- @subpage jtagcmd
+  - @b private command queue API
+  - declared in @c src/jtag/commands.h
+  - provides routines used internally by the full JTAG drivers.
+
+- @subpage jtagiface
+  - @b private interface driver API
+  - declared in @c src/jtag/interface.h
+  - used by the core, minidrivers, and the full interface device drivers.
+    - allows implementing new interface device drivers.
+    - includes the Cable/TAP API (commands starting with @c tap_)
+
+- @subpage jtagdriver
+  - @b private minidriver API 
+  - declared in @c src/jtag/minidriver.h
+  - used @a only by the core and minidriver implementations:
+    - @c jtag_driver.c (in-tree OpenOCD drivers)
+    - @c zy1000/build/include/jtag_minidriver.h (ZY1000 minidriver)
+    - future implementations (on other embedded hosts)
+    - interface device drivers do @b not need this API.
 
  */
 
-/** @page jtagcable OpenOCD JTAG Cable API
+/** @page jtagcore JTAG Core API
 
 This section needs to be expanded.
 
  */
 
-/** @page jtagtap OpenOCD JTAG TAP API
+/** @page jtagcmd JTAG Command API
 
 This section needs to be expanded.
 
  */
 
-/** @page jtagmdriver OpenOCD JTAG Interface API
+/** @page jtagiface JTAG Interface API
 
 This section needs to be expanded.
 
  */
 
-/** @page jtagdriver OpenOCD JTAG Driver API
+/** @page jtagdriver JTAG Minidriver API
 
 This section needs to be expanded.
 
index 4c7a9d9de8c67d51c7a47a11cf5f9f4fa7cb42ab..576c9e1a0552d3dc16c9c22193bcf0243e41f19e 100644 (file)
@@ -68,9 +68,9 @@ modules are stacked in the current implementation (from bottom to top):
   - @ref helpercommand
   - @ref helperlogging
 - @subpage jtagdocs
-  - @ref jtagcable
-  - @ref jtagtap
-  - @ref jtagmdriver
+  - @ref jtagcore
+  - @ref jtagcmd
+  - @ref jtagiface
   - @ref jtagdriver
 - @subpage targetdocs
   - @ref targetarm