Skip to content

Version 1.1.0

Choose a tag to compare

@mubes mubes released this 19 Jul 00:36
· 62 commits to main since this release

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.