This is the eighth production release of ORBTrace Mini gateware.
This is a breaking change. Orbuculum will not find the trace interfaces unless you upgrade it to Version 2.2.0 or higher.
New Features
- Migration to orbflow protocol
This build adds the ability to decode and strip TPIU frames in-probe. This reduces the bandwidth required back to the host over the USB link, and the processing needed on the host. TPIU stripping is supported over the 1/2/4 bit parallel interfaces as well as at full line speed on SWO/UART and SWO/Manch.
Removing TPIU framing necessitates a new flow protocol between the probe and the host. This protocol is known as orbflow. It can run on top of any bearer that can carry demarked packets. On the USB link it runs over Consistent Overhead Byte Stuffing (COBS). Each TPIU source on the target is carried in a separate orbflow stream, identified by a tag. By default and convention, ITM is carried in tag 1 and ETM in tag 2. This can be changed by configuration.
The bandwidth saving achieved by orbflow is use case dependent but is generally at least a factor of 2. Further, the adoption of orbflow will allow arbitrary other streams to be transported between the probe and the host in future.
- CMSIS-DAP v2 UUID Support
The UUID for CMSIS-DAP v2 has been added to the usb interface descriptors. This allows the v2 interface to be discovered by certain Windows products such as IAR eWARM.
Bugfixes and Itchfixes
None
Assets
Gateware set consists only of the application image. This goes into slot 1. Bootloader from 1.3.1 is still the appropriate version to use.
Installation
To install you will need to have established permissions for the device (See the README, or just grab a suitable udev rules file, like this one). A modern Orbuculum install also inserts a suitable udev file. Then hold down the button and power up the ORBTrace Mini. The status LED will turn purple. In a terminal window, enter;
dfu-util -d 1209:3442 -a 1 -D orbtrace_mini_application_1.4.0.bit
Once it has flashed power cycle and you should be running the new version. You can verify that you are running the correct version by checking the interface strings;
$ orbtrace -l
Id | Description | Serial | Version
---+---------------------------------------------------+------------------+----------------------------
1 | Orbcode Orbtrace | 36FC6192A2189006 | v1.4.0-0-ga77d260
There is no need to update your bootloader if you are already on 1.3.1.
Help Requested
Please test on a wide variety of targets as possible and report observed issues...ARM CORTEX-M is a broad church and wide testing is essential. Success reports are as important as failure ones, so feel free to raise an issue or ping us in the Discord.
Contributions to both ORBTrace and Orbmortem always gratefully accepted.
Upcoming Work Items
- Internal refactor
- Bring on board CPU into use
- any needed bugfixes :-)
Known Issues
Requires orbuculum 2.2.0 or higher for the trace interfaces to be discovered.