Skip to content

Commit cfe1da3

Browse files
committed
Documentation updates
1 parent bc4bc4c commit cfe1da3

2 files changed

Lines changed: 34 additions & 15 deletions

File tree

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
2929
# ones.
3030
extensions = [
31+
'sphinxcontrib.mermaid'
3132
]
3233

3334
# Add any paths that contain templates here, relative to this directory.

docs/source/users/conops.rst

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,42 @@ Purpose
33

44
Orbtrace performs two essential functions, with a number of other supporting bits and pieces around the edges. Specifically it;
55

6-
1. Presents a *Debug Interface* to which CMSIS-DAP v1 or v2 compliant interface software can attach, to control and debug the target device over either a SWD or JTAG interface.
7-
2. Collects data from the *Parallel Trace Port* of the target device over a 1, 2 or 4 bit parallel interface and presents it to software on the host PC. These data can be used for reporting on the progress of the software running on the target device, and also reconstruct it's recent actions.
6+
1. Presents a *Debug Interface* to which CMSIS-DAP v1 or v2 compliant interface software can attach, to control and debug a target device over either a SWD or JTAG interface.
7+
2. Collects data from the *Parallel Trace Port* of the target device over a 1, 2 or 4 bit interface and presents it to software on the host PC. These data can be used for reporting on the progress of the software running on the target device, and optionally to reconstruct it's recent actions.
88

9-
In addition to the above, Orbtrace can also, depending on the hardware it's running on, provide power to the target and measure its current consumption during program execution, it can also provide secondary serial links to the target. All of these data streams are carried over a single USB2-HS communnication link.
9+
In addition to the above, Orbtrace can also, depending on the hardware it's running on, provide power to the target and measure its current consumption during program execution. It can also provide secondary serial links. All of these data streams are carried over a single USB2-HS communnication link between Orbtrace and the host PC.
1010

11-
In respect of (1) above, typically software that would communicate with Orbtrace would be [BlackMagic Probe](https:https://github.com/blacksphere/blackmagic) or [PyOCD](https://github.com/pyocd/pyOCD). These would then connect to
11+
The normal connection between Orbtrace and the target is the 2x10-way 0.05" connector you will see on the target PCB. When doing debug only (i.e. no tracing functions) then the smaller 2x5-way 0.05" connector is typically used instead. Details on these connectors are available from the `Keil Website <https://www2.keil.com/coresight/coresight-connectors>`_.
1212

13+
In respect of (1) above, typically software that would communicate with Orbtrace would be `BlackMagic Probe <https://github.com/blacksphere/blackmagic>`_ or `PyOCD <https://github.com/pyocd/pyOCD>`_. These would then connect to a debugger such as gdb.
1314

1415
.. mermaid::
1516

16-
sequenceDiagram
17-
participant Alice
18-
participant Bob
19-
Alice->John: Hello John, how are you?
20-
loop Healthcheck
21-
John->John: Fight against hypochondria
22-
end
23-
Note right of John: Rational thoughts <br/>prevail...
24-
John-->Alice: Great!
25-
John->Bob: How about you?
26-
Bob-->John: Jolly good!
17+
graph LR
18+
A(Target) -- JTAG or SWD ---- B((Orbtrace))
19+
A -- TRACE --> B((Orbtrace))
20+
A -- Serial ---- B((Orbtrace))
21+
B -- USB-HS ---- Z[Demux]
22+
23+
subgraph Host PC
24+
Z --- C(Debug Server) -- gdb remote protocol --- G(GDB)
25+
Z --> D(Orbuculum)
26+
Z --- H(Serial Server)
27+
D -- Socket --> E(Orb Client 1)
28+
D -- Socket --> F(Orb Client n)
29+
H -- ACM --- I(Serial Client)
30+
end
31+
32+
classDef green fill:#9f6,stroke:#333,stroke-width:2px;
33+
classDef yellow fill:#ffff00,stroke:#333,stroke-width:2px;
34+
classDef blue fill:#00f0ff,stroke:#333,stroke-width:2px;
35+
classDef pink fill:#ffB0ff,stroke:#333,stroke-width:2px;
36+
classDef brown fill:#bfb01f,stroke:#333,stroke-width:2px;
37+
class A green
38+
class B yellow
39+
class C,G blue
40+
class D,E,F pink
41+
class H,I brown
42+
43+
44+
In respect of (2) above, exploiting the trace flow from Orbtrace, the reader is directed to the `Orbuculum <https://github.com/orbcode/orbuculum>`_ suite for detailed information.

0 commit comments

Comments
 (0)