probe-rs/hs-probe-firmware

hs-probe-firmware

A CMSIS-DAP firmware for cargo-binutils and run:

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

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:

And load it into the HS-Probe with:

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

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:

Special thanks

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-rs initiative and helping bring the probe up.

Licence

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 #404)

at your option.

Issues

Collection of the latest Issues

allexoll

allexoll

Comment Icon2

Openning this issue since we were talking about it on matrix.

hs-probe not detected by MCUXpresso

Issue: version 0.1.0, turbo, not detected on either Windows or macOs with MCUXpresso v11.4.0.

There is a probetable.csv that contains differents VID:PID

Screenshot 2021-09-07 at 15 47 11

that table was last documented in 2016: Auto-detect custom CMSIS-DAP probe:

I have tried to add the VID:PID of probe-rs, redlink sees the probe but there's an issue at some point:

related topics on NXP's forum:

Notes:

  • I think LPCLink debuggers that are on devkits are board-locked, so there might be a challenge/response included with those VID:PID
  • the hs-probe is seen with cargo flash --list-probes, and so is the LPCLink on the devkit i have.
fnafnio

fnafnio

Comment Icon3

I'm on Windows 10 build 19042.1165

After connecting the HS-Probe, Zadig was needed to install drivers for the CMSIS-DAP interfaces. Zadig showed NONE as the currently installed driver. After installing WinUSB drivers, I was able to update the firmware to latest master with dfu-util and connect to a target for flashing/debugging etc.

The USB-VCOM doesn't show up in the COM-Port list, the device manager lists the device status as

I will try on other devices as well. Let me know if I can gather more information somehow

Disasm

Disasm

Comment Icon0
  • T_VCC should be measured (via T_VCC_MEAS) before enabling 3.3V target power.
  • 5V line should be read (via PROT_5V_SENSE) before enabling 5V target power.
Disasm

Disasm

Comment Icon1

One of the solutions is to handle USB (and probably USART) interrupts and then move to the RTIC execution model.

Disasm

Disasm

Comment Icon7
  • Baud rate handling on the USB side
  • UART driver (USART2)
  • Automatic baud rate detection?

Information - Updated Jan 15, 2022

Stars: 51
Forks: 8
Issues: 9

rust_embedded_starter

Boilerplate für Embedded Entwicklung mit Rust mit Flash und Debug automatik

rust_embedded_starter

Embedded rust HAL (hardware abstraction layer) for the STM32WL

This is a work in progress, it is unstable, incomplete, and (mostly) untested

Embedded rust HAL (hardware abstraction layer) for the STM32WL

Embedded Rust Template

This template is based on stm32f4xx-hal

Embedded Rust Template

A Rust embedded-hal HAL for all MCUs in the STM32 F7 family

This crate is largely inspired by the awesome work done here:

A Rust embedded-hal HAL for all MCUs in the STM32 F7 family

An embedded rust no_std driver for the AHT20 temperature and humidity sensor, forked from Anthony...

An embedded rust no_std driver for the AHT20 temperature and humidity sensor, forked from Anthony Romano's docs

An embedded rust no_std driver for the AHT20 temperature and humidity sensor, forked from Anthony...

embedded-rust-H2AL

Hardware abstraction layer - abstraction layer

embedded-rust-H2AL

cargo-pio = Cargo + PlatformIO

Build Rust embedded projects with PlatformIO!

cargo-pio = Cargo + PlatformIO

Embedded rust HAL (hardware abstraction layer) for the STM32WL series

This is still in development, the code that exists today covers basic usage of:

Embedded rust HAL (hardware abstraction layer) for the STM32WL series

Microchip MCP4725 DAC Driver for Rust Embedded HAL

This is a driver crate for embedded Rust

Microchip MCP4725 DAC Driver for Rust Embedded HAL

An async embedded rust no_std driver for the QMC5883L magnetometer chip based on this driver

An async embedded rust no_std driver for the QMC5883L magnetometer chip based on embassy example

An async embedded rust no_std driver for the QMC5883L magnetometer chip based on this driver
Facebook Instagram Twitter GitHub Dribbble
Privacy