Skip to content

Releases: orbcode/orbtrace

Version 1.4.3

18 Apr 23:23

Choose a tag to compare

This is the eleventh production release of ORBTrace Mini gateware. This version contains no known regressions and is recommended for all users.

New Features

None

Bugfixes and Itchfixes

  1. Improve handling of slow SWO data. Non-TPIU coded flows will now be flushed quickly to the host rather than being batched until a packet is full. The behaviour is now similar to TPIU-coded flows.

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.3.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.3-0-g2413e51

There is no need to update your bootloader if you are already on 1.3.1.

Help Requested

Contributions to both ORBTrace and Orbmortem always gratefully accepted.

Upcoming Work Items

  • Internal refactor

Known Issues & Notes

Requires orbuculum 2.2.0 or higher for the trace interfaces to be discovered.

Note carried over from 1.4.2; Testing is performed with openocd for consistency, but recent blackmagic debug application (BMDA) releases show significantly improved JTAG performance (738kiB/s against 160kiB/s for openocd). SWD performance is comparable (1075kiB/s vs 1309kiB/s).

Version 1.4.2

11 Apr 10:57

Choose a tag to compare

This is the tenth production release of ORBTrace Mini gateware.

New Features

None

Bugfixes and Itchfixes

  1. Fix Microsoft OS 2.0 Descriptor

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.2.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                                  | 325C708163008E06 | v1.4.2-0-g279b78e

There is no need to update your bootloader if you are already on 1.3.1.

Help Requested

Contributions to both ORBTrace and Orbmortem always gratefully accepted.

Upcoming Work Items

  • Internal refactor

Known Issues & Notes

Requires orbuculum 2.2.0 or higher for the trace interfaces to be discovered.

Note carried over from 1.4.1; Testing is performed with openocd for consistency, but recent blackmagic debug application (BMDA) releases show significantly improved JTAG performance (738kiB/s against 160kiB/s for openocd). SWD performance is comparable (1075kiB/s vs 1309kiB/s).

Version 1.4.1

28 Mar 11:22

Choose a tag to compare

This is the ninth production release of ORBTrace Mini gateware.

New Features

None

Bugfixes and Itchfixes

  1. Improve RESET pin handling. This will typically allow probes that support 'connect under reset' to use that feature correctly.

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.1.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.1-0-gb3b1199

There is no need to update your bootloader if you are already on 1.3.1.

Help Requested

Contributions to both ORBTrace and Orbmortem always gratefully accepted.

Upcoming Work Items

  • Internal refactor

Known Issues & Notes

Requires orbuculum 2.2.0 or higher for the trace interfaces to be discovered.

Note that testing is performed with openocd for consistency, but recent blackmagic debug application (BMDA) releases show significantly improved JTAG performance (738kiB/s against 160kiB/s for openocd). SWD performance is comparable (1075kiB/s vs 1309kiB/s).

Version 1.4.0

05 Sep 20:47

Choose a tag to compare

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

  1. 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.

  1. 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.

Version 1.3.2

17 Jan 22:57

Choose a tag to compare

Version 1.3.2

This is the seventh production release of ORBTrace Mini gateware.

This build does not add new functionality but improves SWD error recovery under specific edge conditions. It also aligns the build output bitfile with the qualified seed...that didn't happen with 1.3.1 due to a build process error. As a result this release is recommended for all users.

New Features

  • No new user visible features

Bugfixes and Itchfixes

  • Improve handling of SWD ACK error messsages.
  • Refine build system to ensure compliant build.

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.3.2.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;

$ lsusb -d 1209:3443 -v | grep iInterface
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace
      iInterface              5 Control Proxy
      iInterface              6 CMSIS-DAP v1
      iInterface              7 CMSIS-DAP v2
      iInterface              8 Target power
      iInterface              9 Version: v1.3.2-0-g85b66b9

Alternatively;

$ orbtrace -l
 Id |               Description                |      Serial      |           Version
 ---+------------------------------------------+------------------+----------------------------
  1 | Orbcode Orbtrace                         | XXXXXXXXXXXXXXXX | v1.3.2-0-g85b66b9

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

  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

No known issues.

Version 1.3.1

27 Jun 22:15

Choose a tag to compare

Version 1.3.1

This is the sixth production release of ORBTrace Mini gateware.

This build does not add new functionality but improves USB error handling so control handlers can correctly recover from receiving corrupted data. This mainly affects the DFU functionality. It is recommended for all users.

New Features

  • No new user visible features

Bugfixes and Itchfixes

  • Handle corrupt USB control OUT message correctly.

Assets

Gateware set consists of the bootloader and application images. Bootloader targets dfu slot 2, application slot 1. Under normal conditions you will only need the application gateware.

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.3.1.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;

$ lsusb -d 1209:3443 -v | grep iInterface
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace
      iInterface              5 Control Proxy
      iInterface              6 CMSIS-DAP v1
      iInterface              7 CMSIS-DAP v2
      iInterface              8 Target power
      iInterface              9 Version: v1.3.1-0-gd096575

It is also worth updating your bootloader. To do that, go into bootloader mode again and load the bootloader into slot 2;

dfu-util -d 1209:3442 -a 2 -D orbtrace_mini_bootloader_1.3.1.bit

If you goof this up you'll have to reprogram using the JTAG header and following the instructions here. Be particularly careful not to flash the application gateware into the bootloader slot. If you do that your ORBTrace will work perfectly, but you'll lose the ability to dfu-update.

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

  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

No known issues.

Version 1.3.0

27 Jun 22:14

Choose a tag to compare

Version 1.3.0

This is the fifth production release of ORBTrace Mini gateware.

This build does not add new functionality but generally improves robustness. No issues or regressions are foreseen.

New Features

  • No new user visible features

Bugfixes and Itchfixes

  • Use correct bits from DAP_TRANSFER for DAP index - fixes multi-DAP operation
  • Handle empty response to block read more elegantly - prevents corruption of follow on packet
  • Simplification of edge detection for parallel TRACE - this allows TRACE to acquire lock on the very first packet so there is no delay before valid data are reported
  • Don't time out TRACE collection when keep-alives aren't seen - this prevents TRACE being lost when there isn't much of it, or it's very busy
  • Significant speed ups in JTAG due to protocol handling improvements
  • Fix multi-device JTAG handling to enable high speed JTAG support for multi-device chains
  • Support a wider range of multi-colour LED manufacturers in assembly

Assets

Gateware set consists of the bootloader and application images. Bootloader targets dfu slot 2, application slot 1. Under normal conditions you will only need the application gateware.

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.3.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;

$ lsusb -d 1209:3443 -v | grep iInterface
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace
      iInterface              5 Control Proxy
      iInterface              6 CMSIS-DAP v1
      iInterface              7 CMSIS-DAP v2
      iInterface              8 Target power
      iInterface              9 Version: v1.3.0-0-g7d5d341

It is also worth updating your bootloader. To do that, go into bootloader mode again and load the bootloader into slot 2;

dfu-util -d 1209:3442 -a 2 -D orbtrace_mini_bootloader_1.3.0.bit

If you goof this up you'll have to reprogram using the JTAG header and following the instructions here. Be particularly careful not to flash the application gateware into the bootloader slot. If you do that your ORBTrace will work perfectly, but you'll lose the ability to dfu-update.

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

  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

During testing of the release builds, an issue with infrequent USB corruption was observed and tracked down to a combination of signal integrity issues in the test setup and missing error handling in control request handlers. The latter will shortly be addressed by 1.3.1.

Version 1.2.1

25 Nov 21:58
@zyp zyp

Choose a tag to compare

This is a minor release aimed at solving a yield issue on certain boards by adjusting a LED protocol timing. If you already have a board running v1.2.0 you don't need this update, as all affected boards will be shipped with v1.2.1 already installed.

Version 1.2.0

05 Sep 22:05

Choose a tag to compare

This is the third production release of ORBTrace Mini gateware.

This build is recommended for all users. SWO capture over a UART link at up to 62Mbps has been added and an edge case in parallel TRACE addressed. No issues or regressions are foreseen.

New Features

  • SWO capture over a UART encoded link at speeds from 125Kbps to 62Mbps. Note that with SWO/UART your reception rate (as set by the -a xxxx option to orbtrace) must match the rate your target is sending data at. The effective maximum user data rate of a SWO/UART link is almost exactly the same as a SWO/MANCH link (6.2MBytes/s vs 5.8 Mbytes/s) and in general SWO/MANCH is preferred if available because it autobauds...unfortunately some chips don't offer the choice.

Note that you'll need an updated Orbuculum suite to access the new features, you can find that here. Production support for SWO/UART will be incorporated into orbuculum 2.1.0.

Bugfixes and Itchfixes

  • Prevent parallel trace keepalive from potentially corrupting a data frame.
  • Add DeviceInterfaceGUID to USB descriptors to play more nicely with Windows.
  • Various small internal improvements (See git log) with no user visible behaviour change.

Assets

Gateware set consists of the bootloader and application images. Bootloader targets dfu slot 2, application slot 1. Under normal conditions you will only need the application gateware, although updating the bootloader is needed if you want to benefit from the faster boot and improved USB compatibility.

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, then hold down the button and power up the ORBTrace Mini. The status LED will turn purple. Then, in a terminal window, enter;

dfu-util -d 1209:3442 -a 1 -D orbtrace_mini_application_1.2.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;

$ lsusb -d 1209:3443 -v | grep iInterface
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace
      iInterface              5 Control Proxy
      iInterface              6 CMSIS-DAP v1
      iInterface              7 CMSIS-DAP v2
      iInterface              8 Target power
      iInterface              9 Version: v1.2.0-0-g4d11770

It is also worth updating your bootloader. To do that, go into bootloader mode again and load the bootloader into slot 2;

dfu-util -d 1209:3442 -a 2 -D orbtrace_mini_bootloader_1.2.0.bit

If you goof this up you'll have to reprogram using the JTAG header and following the instructions here. Be particularly careful not to flash the application gateware into the bootloader slot. If you do that your ORBTrace will work perfectly, but you'll lose the ability to dfu-update.

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

  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

No known issues at this time.

Version 1.1.0

19 Jul 00:36

Choose a tag to compare

This is the second production release of ORBTrace Mini gateware.

At this time this build is recommended for all users. There are specific benefits in improved SWD compatibility and SWO capture in this release. No issues are foreseen.

New Features

  • SWO capture at speeds from 16Kbps to 48Mbps. This uses Manchester Framing and is auto-bauding...if your chip is throwing out valid data, you should see it! Configuration and use instructions are over at orbcode.org. This might be only one bullet point, but it's a very big bullet.
  • Windows OS USB 2.0 descriptors to allow automatic driver binding without any need for third party apps.

Note that you'll need an updated Orbuculum suite to access the new features, you can find that here. Lots of work has been done in that to support auto install and Windows functionality etc. At the moment that's in Devel, but is stable enough to be used.

Bugfixes and Itchfixes

  • Reduced minimum debug clock, now goes down to 196KHz (was previously 391KHz). Max clock of 25MHz is not changed.
  • Improved SWD compatibility with a wide range of targets up to 25MHz. OpenOCD delivers speed of around 1.4MBytes/sec using an STM32F427 and default (boot) clocks.
  • Much faster boot. Zero to operational in the blink of an eye!
  • Incorporated LUNA fix for USB-HS PING tokens which was exhibiting as corrupted USB strings in Linux 5.18. Fix has been upstreamed to Luna.
  • Improved CI.

Assets

Gateware set consists of the bootloader and application images. Bootloader targets dfu slot 2, application slot 1. Under normal conditions you will only need the application gateware, although updating the bootloader is needed if you want to benefit from the faster boot and improved USB compatibility.

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, then hold down the button and power up the ORBTrace Mini. The status LED will turn purple. Then, in a terminal window, enter;

dfu-util -d 1209:3442 -a 1 -D build/orbtrace_mini/gateware/orbtrace_mini.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;

$ lsusb -d 1209:3443 -v | grep iInterface
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace
      iInterface              5 Control Proxy
      iInterface              6 CMSIS-DAP v1
      iInterface              7 CMSIS-DAP v2
      iInterface              8 Target power
      iInterface              9 Version: v1.1.0-0-ge5eaea2

(Don't worry about if you get any 'Resource temporarily unavailable' messages...that's just the OS stopping you getting at things you shouldn't have access too).

It is also worth updating your bootloader. To do that, go into bootloader mode again and load the bootloader into slot 2;

dfu-util -d 1209:3442 -a 2 -D build/orbtrace_mini/gateware/orbtrace_mini_boot.bit

If you goof this up you'll have to reprogram using the JTAG header and following the instructions here. Be particularly careful not to flash the application gateware into the bootloader slot. If you do that your ORBTrace will work perfectly, but you'll lose the ability to dfu-update.

Help Requested

Please test on a wide variety of targets for SWO/Manch, SWD, JTAG and TRACE functionality...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

  • SWO over UART transport (if user feedback shows that proves necessary)
  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

No known issues at this time.