cargo flash

# Installing cargo flash is simple:
cargo install cargo-flash

# In your cargo project directory, call
cargo flash --release --chip <chip_name>

# Don't know if your target is available
# and what it's name is?
cargo flash --list-targets

# You can run your examples as usual with
cargo flash --example <your_example>
# If you like GDB for debugging,
# you can open a GDB server after downloading
cargo flash --gdb

cargo-flash is a cargo extension and drop in replacement for 'cargo run'.

You can use cargo-flash just like 'cargo run', but instead of running on the host, cargo-flash will download your binary to the target and run.

Any config flags that are accepted by 'cargo run' are accepted by cargo-flash too. If not, hit us with an issue.


Flash programming stable
Cargo integration stable
CMSIS-Pack support stable
RISC-V support beta
ARM support stable
CMSIS-DAP (DAP-Link) support stable
ST-Link support stable
J-Link support beta
JTAG support beta
SWD support stable
GDB stub beta
Microsoft DAP (VSCode) server alpha
WASM extensions for chip-specific functionality planned
Chip autodetection beta
Debugging (run, halt, step, break) beta
ITM support planned
Flash (soft) breakpoints planned
Write to externally connected flashes planned
Segger RTT support planned
Semihosting planned