/hs-probe-firmware

A CMSIS-DAP implementation in pure Rust.

Primary LanguageRustApache License 2.0Apache-2.0

hs-probe-firmware

A CMSIS-DAP firmware for hs-probe. This includes support for DAPv1 and DAPv2 over high-speed (480 MBit/s) USB 2.0.

Building the firmware

cargo build --release

Loading the firmware

The HS-Probe supports dfu-util and can have its firmware loaded via it. To generate the bin, install cargo-binutils and run:

cargo objcopy --release -- -O binary firmware.bin

And load it into the HS-Probe with:

dfu-util -a 0 -s 0x08000000:leave -D firmware.bin

It will automatically restart into DFU mode and load the firmware.

Windows

Under Windows, the firmware update does not work out of the box. The first time that dfu-util is used, the probe will reboot into the bootloader, but the driver for the STM32 BOOTLOADER will be missing.

To fix this, Zadig should be used to install the WinUSB driver for the STM32 BOOTLOADER device. Afterwards, dfu-util should be able to update the firmware.

Recovery

If the probe does not appear as a USB device, it is possible to force it to boot into the bootloader. For this, the two pins indicated by the white line on top of the PCB need to be shorted together, while pluggin in the probe.

If succesful, a STM32 BOOTLOADER device will appear which can be used to update the probe firmware using dfu-util.

Feature flags

The following feature flags exists:

  • turbo, this will the MCU speed to 216 MHz instead of the current default of 72 MHz.
  • ...

To build with features, the following command is used:

cargo build --release --features turbo,...,...

Special thanks

We would like to give special thanks to:

Licence

Firmware is licensed under either of

at your option.