Add architectural introduction to the JTAG module in The Manual.
[fw/openocd] / doc / manual / jtag.txt
1 /** @page jtagdocs JTAG APIs
2
3 For new developers unfamiliar with the technology, @ref primerjtag provides
4 a brief introduction to the IEEE JTAG interface.
5
6 The OpenOCD JTAG library API covers several functional areas.  The jtag
7 @b core communicates through the @b minidriver API with either its full
8 @a driver implementation (src/jtag/jtag_driver.c) or a @a minidriver .
9 Internally, the @b command API is used by the JTAG driver for managing
10 asynchronous transactions.
11
12 - @subpage jtagcore
13   - @b public API routines
14   - declared in @c src/jtag/jtag.h
15   - used by other modules
16
17 - @subpage jtagcmd
18   - @b private command queue API
19   - declared in @c src/jtag/commands.h
20   - provides routines used internally by the full JTAG drivers.
21
22 - @subpage jtagiface
23   - @b private interface driver API
24   - declared in @c src/jtag/interface.h
25   - used by the core, minidrivers, and the full interface device drivers.
26     - allows implementing new interface device drivers.
27     - includes the Cable/TAP API (commands starting with @c tap_)
28
29 - @subpage jtagdriver
30   - @b private minidriver API 
31   - declared in @c src/jtag/minidriver.h
32   - used @a only by the core and minidriver implementations:
33     - @c jtag_driver.c (in-tree OpenOCD drivers)
34     - @c zy1000/build/include/jtag_minidriver.h (ZY1000 minidriver)
35     - future implementations (on other embedded hosts)
36     - interface device drivers do @b not need this API.
37
38  */
39
40 /** @page jtagcore JTAG Core API
41
42 This section needs to be expanded.
43
44  */
45
46 /** @page jtagcmd JTAG Command API
47
48 This section needs to be expanded.
49
50  */
51
52 /** @page jtagiface JTAG Interface API
53
54 This section needs to be expanded.
55
56  */
57
58 /** @page jtagdriver JTAG Minidriver API
59
60 This section needs to be expanded.
61
62  */