probe-runis getting deprecated in favor of
- Migration steps are simple. [Skip to migration steps]
probe-rsoffers most features of
probe-runand many more
We'd like to share an important development in the embedded Rust development landscape. It is with a sense of commitment to unifying our community that we announce the deprecation of our tool,
probe-run, in favor of the powerful and feature-rich alternative,
This shift is not a step backward, but rather a stride forward, aligning with the rapid evolution of the embedded Rust ecosystem. When we initially introduced
probe-run, there was a distinct lack of alternatives. However, today, the ecosystem has not only caught up but has also surpassed our expectations.
Our decision to migrate to
probe-rs is the result of a collaborative effort, and we'd like to express our appreciation to the
probe-rs maintainers for their invaluable support and collaboration in making this transition possible. This collaboration is going way back, since the
probe-rs library has been a core component of
probe-run for a long time.
Rest assured, our commitment to
defmt remains steadfast. Over the past few weeks, we've been hard at work to ensure that
defmt support in
probe-rs matches the standard you've come to expect from
We will not archive the
probe-run immediately, but keep it open for a few more weeks in case you have questions regarding the migration.
We extend our heartfelt gratitude to all of you who have been part of the
probe-run journey. Your feedback, contributions, and support have been invaluable.
Sincerely, Johann and the Knurling-rs team
In most cases the migration is as simple as installing
probe-rs and exchanging the
probe-run command with
$ cargo install probe-rs --features cli
2.) Switch to
probe-rs run in
[target.'cfg(all(target_arch = "arm", target_os = "none"))'] -runner = "probe-run --chip nRF52840_xxAA" +runner = "probe-rs run --chip nRF52840_xxAA"
These two steps should cover most cases.
There are a few command-line flags which changed or got removed.
probe-rs run --chip-erase
probe-rs chip list
--jsonflag to output logs as structured data
As far as we see this feature is used relatively little. Therefore we decided to not block the deprecation on this. If you rely on this feature please contact us.
probe-rslogging system works differently than
probe-run's, therefore the
--host-log-formatdoes not make sense. The
--log-formatflag to change the format of the
defmt-messages exists though.
Also this is a bit more of a niche feature, so we decided to not block the deprecations on this.
--measure-stack, but that was a no-op
--measure-stackflag was used to estimate the stack usage of a program. Since a few months this was a no-op, because we refactored the estimation mechanism to be blazingly fast, so it could just always run. The stack usage estimation mechanism is not implemented in
probe-rsyet, but it will likely follow.