Skip to content

Commit 3f420ec

Browse files
committed
Docs: additions to terminology.
1 parent 74e3749 commit 3f420ec

File tree

1 file changed

+37
-15
lines changed

1 file changed

+37
-15
lines changed

docs/terminology.md

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,50 @@ Terminology
33

44
These are the key terms used by pyOCD and its documentation.
55

6-
- **CoreSight** — A standard Arm architecture for debug subsystems. It defines a standardised way
6+
- **ADI**: Arm Debug Interface, an Arm architecture standard for how JTAG and SWD interface with CoreSight.
7+
It defines the DAP structure and registers.
8+
- **AP**: Access Port, part of the DAP, connected to the DP, that allows the debugger to perform operations
9+
on the chip and cores. There are multiple types of AP that serve different purposes (see MEM-AP). Some MCU
10+
vendors implement proprietary APs in their chips.
11+
- **CoreSight**: A standard Arm architecture for debug subsystems. It defines a standardised way
712
to discover the debug resources provided by a device.
8-
- **debug link** — The interface provided by a chip to allow for its debugging. Mostly SWD or JTAG.
9-
- **debug probe** — The device that drives SWD or JTAG. Usually connected to the host via USB.
10-
- **delegation** — A code pattern used to extend or modify functionality of a class by implementing
13+
- **DAP**: Debug Access Port, the debugging module that is accessed via the JTAG or SWD port. Composed of a
14+
DP and one or more APs.
15+
- **DP**: Debug Port, part of the DAP that handles SWD or JTAG. Most chips only have a single DP.
16+
- **debug link**: The connection between the debugger and target. This is usually a physical connection over
17+
which the SWD or JTAG wire protocol runs, but different arrangements are possible.
18+
- **debug probe**: The device that drives SWD or JTAG. Usually connected to the host via USB.
19+
- **delegation**: A code pattern used to extend or modify functionality of a class by implementing
1120
methods in a companion object rather than through subclassing.
12-
- **flash algorithm** — A small piece of code downloaded to and executed from target RAM that
21+
- **core**: Refers to a CPU and the closely coupled components surrounding it such as debug and trace
22+
support.
23+
- **flash algorithm**: A small piece of code downloaded to and executed from target RAM that
1324
performs flash erase and program operations.
14-
- **gdbserver** A server that implements gdb's Remote Serial Protocol (RSP) to allow gdb to debug a remote
25+
- **gdbserver**: A server that implements gdb's Remote Serial Protocol (RSP) to allow gdb to debug a remote
1526
target. PyOCD acts as a bridge between gdb and the target.
16-
- **host** — The computer running pyOCD.
17-
- **JTAG** — Debug link standard defined by IEEE Std 1149.1-2001 and subsequent specifications.
18-
- **session** — Represents a connection to a debug probe and the runtime object graph.
19-
- **session option** — A named setting that controls some feature of pyOCD. Options are associated with
27+
- **host**: The computer running pyOCD.
28+
- **JTAG**: Debug link wire protocol standard defined by IEEE Std 1149.1-2001 and subsequent specifications.
29+
- **MEM-AP**: Generic standard for a special type of AP used by the debugger to perform memory reads and
30+
writes within the chip. Concrete MEM-APs have names that represent the kind of bus fabric with which they
31+
interface, such as AHB-AP or AXI-AP.
32+
- **probe server**: Server that shares a debug probe over TCP/IP.
33+
- **session**: Represents a connection to a debug probe and the runtime object graph.
34+
- **session option**: A named setting that controls some feature of pyOCD. Options are associated with
2035
a session, and each session can have different values for a given option.. They can be set from the
2136
command line or configuration files.
22-
- **SWD** — Serial Wire Debug, an Arm standard for a 2-signal debug link.
23-
- **target** — The device that is being controlled by pyOCD through the debug probe.
24-
- **target type** — The part number for the target. Represented by an identifier that is either
37+
- **SoC**: System on Chip, a complete computer on a single chip, like a microcontroller.
38+
- **SWD**: Serial Wire Debug, an Arm standard for a 2-signal serial wire protocol that is an alternative to
39+
JTAG. It provides nearly the same functionality, except for lack of boundary scan.
40+
- **SWO**: Serial Wire Output, SWV frames usually come out this one pin output. Because it shares the JTAG
41+
signal TDO, SWO is only accessible when using SWD.
42+
- **SWV**: Serial Wire Viewer, A trace capability providing display of reads, writes, exceptions, PC Samples
43+
and printf.
44+
- **target**: The device that is being controlled by pyOCD through the debug probe.
45+
- **target type**: The part number for the target. Represented by an identifier that is either
2546
the full part number or a shortened form of it.
26-
- **unique ID** The unique identifier for a debug probe. Nominally a URI, but usually just the probe's
47+
- **unique ID**: The unique identifier for a debug probe. Nominally a URI, but usually just the probe's
2748
serial number.
28-
- **user script** A Python script written by the user and loaded at runtime that can extend or
49+
- **user script**: A Python script written by the user and loaded at runtime that can extend or
2950
modify pyOCD's behaviour.
51+
- **wire protocol**: The protocol used on the debug link, either SWD or JTAG for Arm-based devices.
3052

0 commit comments

Comments
 (0)