Skip to content

Releases: orbcode/orbtrace

Version 1.0.0

26 Jun 17:46

Choose a tag to compare

First production release of ORBTrace Mini gateware.

This is the version of the gateware that shipped on the 'founders edition' v1.0 hardware.

This version features;

  • SWD Access tested up from 390Kbps to 25Mbps (YMMV depending on the target you're talking to).
  • Observed RAM read speeds, using SWD, around 1.4MBytes/sec using OpenOCD and 1.3MBytes/sec using probe-rs).
  • JTAG target access to the same speed, although it tends to run out of steam around 10-12Mbps.
  • VTPwr switching between Off, 5V and 3V3.
  • VTRef switching between Off, 3V3 and 1V8.
  • 1, 2 & 4 bit parallel trace tested with clocks up to 84MHz (STM32F427 at 168MHz). It will go faster, but that's the testing that's been done.
  • Trace tested with Orbuculum suite 2.0.0Beta1.
  • Tested with OpenOCD, PyOCD, Blackmagic Probe Application and openFPGALoader.
  • Reports that probe-rs and ecpdap are both working correctly.

Additional success (or failure!) reports appreciated.

Assets

Gateware set consists of the bootloader, application and corresponding test (with matching csv) images. Bootloader targets dfu slot 2, application slot 1 and the test gateware is only normally loaded into fpga RAM. It doesn't end up in flash. 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), 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
cannot read device status, Resource temporarily unavailable (11)
      iInterface              0 
      iInterface              0 
      iInterface              4 Trace (TPIU)
      iInterface              5 CMSIS-DAP v1
      iInterface              6 CMSIS-DAP v2
      iInterface              7 Target power
      iInterface              8 Version: v1.0.0-0-g3ad3fa4

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

Help Requested

  • Please test on a wide variety of targets for 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 Manchester and/or UART transport
  • Documented interface to the CPU
  • any needed bugfixes :-)

Known Issues

  • SWD to STM32L1 is known to be slightly marginal with respect to protocol timing. Fix is in V1.1.0. Early adopters can grab a nightly build from CI if they need it earlier.

Tested Chips

These are chips where people have reported success. There is no specific reason why any CORTEX-M shouldn't work, but please let us know success or failure so we can add to this table.

Chip Interface Software Capabilities Used
EFM33GG990 OpenOCD SWD, Trace/ITM
GD32F450 Blackmagic SWD (TRACE is not implemented on this chip, confirmed by support)
RP2040 Blackmagic SWD
STM32F427 OpenOCD, Blackmagic, PyOCD, openFPGAloader SWD, JTAG, TRACE/ITM, TRACE/ETM, FPGA Loading