This is a full release which is recommended for all users.
Orbuculum 2.2.0 is required if you have ORBTrace Mini gateware 1.4.0 or later - earlier versions of Orbuculum simply won't see the trace interfaces on a 1.4.0 device. 2.2.0 is back compatible with earlier gateware releases.
The biggest changes in V2.2.0 are the inclusion of orbflow protocol and experimental support for ETM4 in orbmortem. FreeBSD is now supported too.
Main changes in Release V2.2.0 against V2.1.0
- Add COBS draining state to re-sync as quickly as possible
- Report when client is disconnected for not keeping up
- Addition of orbflow support (COBS over arbitrary bearer with orbflow protocol on top)
- Support for ORBTrace 1.4 series gateware
- Support in-probe TPIU frame stripping for both parallel and SWO sources
- Support TPIU frames in orbflow tag 1
- The saved file format has been updated to differentiate orbflow files from legacy ones
- Simplification of client handling (speedup and less crud)
- FreeBSD support
- Improved statistics reporting accuracy
- Detection of dynamic bmp endpoint
- Add pacing support for read from file
- improved support for C++
- Addition of ETM4 decode (experimental)
- Timestamping for orbtop, in various formats
- Colour support in orbcat for metadata (timestamps)
- Exception reporting for orbtop
- OSX CI Builder support
- Orbuculum can now be used as a meson subproject
- sam5 session setup support
- NXP IMXRT117x session setup support
- s32K344 session setup support
- TM4C session setup support
For parallel trace the current code supports MTB, ETM3 and ETM4. All should be considered beta quality.
Bugfixes
- orbtop: fix incremental memory use over time
- Ensure utilities respect CTRL-C even when orbuculum mux is not available
Known issues and observations
- Individual clients no longer decode TPIU - use orbuculum mux if you need this
- If orbuculum drops into an already in progress stream it can mis-decode the first packet. This can lead to it thinking it has a lot of active streams which will be reported for 2 seconds before they 'die away'. None of the proposed solutions for this issue are really good, so it's still a slight irritation in this release.
Note that the windows build uses a forked implementation of libusb because the upstream does not currently support the concurrent opening of multiple interfaces on a single device by different clients. Please provide feedback on the performance of this patch (does it work? any problems or negative consequences?). It is taking a while to get that change admitted upstream.