Skip to content

Commit 21285f8

Browse files
committed
Documentation updates for 2.2.0
1 parent d15cc3e commit 21285f8

File tree

2 files changed

+45
-3
lines changed

2 files changed

+45
-3
lines changed

CHANGES.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
In Progress (Version 2.2.0)
1+
21st Sept 2024 (Version 2.2.0)
22

3+
* Add COBS draining state to re-sync as quickly as possible
4+
* Report when client is disconnected for not keeping up
35
* Addition of orbflow support (COBS over arbitary bearer with protocol on top)
46
* Support for ORBTrace 1.4 series gateware
57
* Support in-probe TPIU frame stripping

README.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
![Screenshot](https://raw.githubusercontent.com/orbcode/orbuculum/main/Docs/title.png)
1010

11-
This is the branch for the development of Orbuculum V2.2.0 which is currently in feature freeze and Beta test. Bugfixes for 2.2.0 will be done in this branch. Development is generally done in feature branches and folded into main as those features mature - that will be post 2.2.0.
11+
This is Orbuculum V2.2.0. Bugfixes for 2.2.x will be done in this branch. Development is generally done in feature branches and folded into main as those features mature - those are post 2.2.0.
1212

1313
Version 2.2.0 builds on 2.1.0 and adds several new CPU families, improved client application handling and the start of ETM4 support. Stats and timing are also much improved and the whole communications subsystem has been simplified and streamlined. Most importantly though, we have moved from 'legacy' protocol (basically, the exact same protocol that flows from the chip) for communications to 'orbflow' protocol. Orbflow protocol is an extensible packet oriented protocol which provides a more compact representation of the probe data. By default orbflow is used transparently between orbuculum and client applications. If you have an ORBTrace 1.4.0 or higher version then it is also used for communication from the probe to orbuculum. If you have your own legacy applications, or a version of ORBTrace less that 1.4.0, then the system will fall back to legacy protocol transparently. You can have a hybrid arrangement where some clients use legacy protocol and some use orbflow no problem. As you might imagine this can quickly become complex so please yell up if any edge cases don't seem to work correctly!
1414

@@ -98,7 +98,7 @@ from the target;
9898
* SEGGER JLink
9999
* generic USB TTL Serial Interfaces
100100
* FTDI High speed serial interfaces
101-
* OpenOCD (Add a line like `tpiu config internal :3443 uart off 32000000` to your openocd config to use it.)
101+
* OpenOCD (Add a line like `tpiu config internal :3443 uart off 32000000` to your openocd config to use it...more detailed configuration info at the bottom of this document)
102102
* PyOCD (Add options like `enable_swv: True`, `swv_system_clock: 32000000` to your `pyocd.yml` to use it.)
103103
* ECPIX-5 ECP5 Breakout Board for parallel trace
104104
* Anything capable of saving the raw SWO data to a file
@@ -1132,3 +1132,43 @@ In order to ease pain of this issue, Orbuculum distribution for Windows built on
11321132
The later approach (file replacement) works fine for PyOCD (replace `libusb-1.0.dll` file in `<venv>/Lib/site-packages/libusb_package`) and fails to work with xPack OpenOCD (due to the way `libftdi.dll` is built).
11331133

11341134
Please report both success (this will increase chances of merging patch to upstream libusb) and failures (so we will be able to identify and fix issues introduced by patch) with this approach.
1135+
1136+
Notes on using orbuculum with openocd
1137+
=====================================
1138+
1139+
Taylorh140 made some good notes about getting openocd working with orbuculum on a STM32F429 target.
1140+
They are repeated here;
1141+
1142+
Openocd has a directory of scripts it uses for connecting. These are typically located in the
1143+
`..../share/scripts` folder so if you're connecting to a particular board or chip using one of
1144+
these you need to add a line to it to it. A typical file with line to open a tcp server listening to port 3443
1145+
and let the SWV know that the cpu clock rate is 168Mhz would be;
1146+
1147+
```
1148+
source [find interface/stlink.cfg]
1149+
transport select hla_swd
1150+
set WORKAREASIZE 0x20000
1151+
source [find target/stm32f4x.cfg]
1152+
reset_config srst_only
1153+
1154+
tpiu config internal :3443 uart off 168000000
1155+
```
1156+
1157+
You can then start openocd with a command like `openocd -f <config_file>`. You might see a line
1158+
like `Info : DEPRECIATED 'tpiu config'` but that should be ok. You should now be able to connect
1159+
orb clients directly to openocd, something like;
1160+
1161+
```
1162+
> orbcat -s localhost:3443 -c0,"%c"
1163+
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1164+
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1165+
ABCDEFGHIJKL...etc
1166+
```
1167+
1168+
Things to try if this doesn't work;
1169+
1170+
* make sure your device is connected
1171+
* make sure its powered on
1172+
* make sure there is no typo's in the .cfg file.
1173+
* make sure your application is running ('c' in gdb)
1174+
* get help from the openocd or orbuculum discord servers

0 commit comments

Comments
 (0)