The probe-rs tools overlap a fair bit in functionality, which makes it easy to pick the wrong one. Here is the short version.
Start with probe-rs run
For most projects, probe-rs run is what you want.
It flashes your firmware, resets the target and streams RTT/defmt output and
panics back to your console, so it works as a cargo target runner.
Point cargo at it once:
[target.<architecture-triple>]runner = 'probe-rs run --chip <chip-name>'and then a plain cargo run flashes and runs your firmware.
The other tools
cargo-embedoffers similar functionality with an interactiveRTTterminal on top. It is expected to be phased out in the future, so preferprobe-rs runfor new setups.cargo-flashjust flashes a binary onto the target without any further faff, for when you only need to program the chip.