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
Debugging (run, halt, step, break) beta
GDB stub beta
Microsoft DAP (VSCode) server alpha
WASM extensions for chip-specific functionality planned
Chip autodetection beta
Flash (soft) breakpoints planned
Write to externally connected flashes planned
ITM support alpha
RTT support beta