aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/jtag.txt
blob: 54d0a568b3c5c6ea3a936250bca4219989b9656c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/** @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.  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 jtagtcl
  - @b private TCL handling routines
  - defined in @c src/jtag/tcl.c
  - registers and handles Jim commands that configure and use the JTAG core

- @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 jtagcore JTAG Core API

This section needs to be expanded.

 */

/** @page jtagtcl JTAG TCL API

This section needs to be expanded.

 */

/** @page jtagcmd JTAG Command API

This section needs to be expanded.

 */

/** @page jtagiface JTAG Interface API

This section needs to be expanded.

 */

/** @page jtagdriver JTAG Minidriver API

This section needs to be expanded.

 */