A CMSIS-DAP firmware for hs-probe. This includes support for DAPv1 and DAPv2 over high-speed (480 MBit/s) USB 2.0.
Make sure your toolchain has support for the microcontroller archtiecture:
rustup target install thumbv7em-none-eabihf
Then you should be ready to build the firmware:
cargo build --release
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.binAnd load it into the HS-Probe with:
dfu-util -a 0 -s 0x08000000:leave -D firmware.binIt will automatically restart into DFU mode and load the firmware.
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.
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.
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,...,...We would like to give special thanks to:
- Vadim Kaushan (@disasm) for the USB implementation and helping bring the probe up.
- Adam Greig (@adamgreig) for the SWD implementation and helping bring the probe up.
- Emil Fresk (@korken89) for the hardware design.
- Noah Huesser (@yatekii) for the
probe-rsinitiative and helping bring the probe up.
Firmware is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.