#flash #spi #probe #access #jtag #cmsis-dap #compatible

bin+lib spidap

Access SPI flash memories using CMSIS-DAP probes

1 unstable release

0.1.0 Mar 7, 2021

#8 in #jtag

Apache-2.0 OR MIT

15KB
267 lines

SPIDAP

crates.io docs.rs CI

SPIDAP allows you to use CMSIS-DAP compatible probes in JTAG mode to access SPI flash memories directly, using the JTAG signals to emulate SPI.

The probe must be connected directly to the SPI flash:

JTAG signal SPI Flash
JTMS CS
JTCK CLK
JTDI SDI
JTDO SDO

Pre-built Binaries

Pre-built binaries are available for Windows and Linux on the Releases page. You must have libusb installed or available on your system, and you must have permissions or drivers set up to access your CMSIS-DAP probe.

Building

  • You must have a working Rust compiler installed. Visit rustup.rs to install Rust.
  • libusb is recommended to use the higher-speed CMSIS-DAPv2 protocol, where supported by your probe.
  • You may need to set up drivers or permissions to access the USB device.

To build and install for your user, without checking out the repository:

cargo install spidap

Or, building locally after checking out this repository:

cargo build --release

You can either run the spidap executable directly from target/release/spidap, or you can install it for your user using cargo install --path ..

Usage

Run spidap help for detailed usage. Commonly used commands:

  • spidap probes: List all detected CMSIS-DAP probes
  • spidap id: Read the flash manufacturer and product IDs
  • spidap scan: Read the flash SFDP metadata and status registers
  • spidap write data.bit: Write data.bit to flash memory.

Licence

spidap is licensed under either of

at your option.

Dependencies

~6–18MB
~215K SLoC