Releases: probe-rs/probe-rs
0.26.0
Release Notes
Released 2025-01-17
Added
- Add
run
/flash
/reset
support for NXPs programmable UWB controller, NXP Trimension OL23D0. Including RAM running. (#2984) by @korken89 - Added S32K14 series targets (#3026) by @liamkinne
- Added support for
--ignored
and--include-ignored
libtest options (#2967) by @kaspar030 - Added extra checks for RTT control block integrity so partially trashed blocks are now more likely to be rejected as corrupted (#2978) by @diondokter
- Added a sequence for unlocking nRF54L15 devices. (#2987) by @Tiwalun
- Added support for NXP's MIMXRT1040. (#3016) by @mciantyre
- Add CMSIS-PACK sequences for LPC80x (#2999) by @9names
Changed
- probe-rs now allows selecting debug probes that have no serial number by using
VID:PID:
(#3010) by @bugadani - Move the low-level debugger code into a separate crate, probe-rs-debug.
This code was behind thedebug
feature previously. (#3004) by @Tiwalun - Rename
psel
totargetsel
in the target definition for chips using the ARM debug interface,
and make it optional. This makes it clearer what the use of this field is. (#2992) by @Tiwalun
Fixed
- ARM Debug interface: Clear sticky error bits after failed block transfers, so that future transfers can succeed. (#2982) by @Tiwalun
- probe-rs: Disassembly now takes the endianness of source files into account rather than relying on host endianness.(#2991) by @fg-cfh
- probe-rs-tools: Fixed disassembly of ARM Thumb v2 code in the DAP server (proper instruction decoding and offset in the disassembly view). (#2991) by @fg-cfh
- Fixed a problem with flaky flashing on MIMXRT when the firmware has
changed the FlexRAM configuration from the POR fuse settings. (#3020) by @mciantyre and @SebKuzminsky - Fixed a regression that prevented retries of the packet size query when connecting to CMSIS-DAP probes. (#3002) by @elfmimi
- Fixed a problem on ARMv7 where debugger couldn't be attached again after
detaching it if the firmware spent most of the time in sleep mode. (#2852) by @inazarenko - The progressbars are now properly reset at the right time to improve the accuracy of the speed and ETA. (#2970) by @diondokter
- probe-rs info: Check if memory access port is accessible before trying to use it. (#2972) by @Tiwalun
probe-rs-tools 0.26.0
Install probe-rs-tools 0.26.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/probe-rs-tools-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/probe-rs-tools-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install probe-rs/probe-rs/probe-rs
Download probe-rs-tools 0.26.0
File | Platform | Checksum |
---|---|---|
probe-rs-tools-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
probe-rs-tools-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
probe-rs-tools-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
probe-rs-tools-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
probe-rs-tools-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo probe-rs/probe-rs
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
rtthost 0.26.0
Install rtthost 0.26.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/rtthost-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/rtthost-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install probe-rs/probe-rs/rtthost
Download rtthost 0.26.0
File | Platform | Checksum |
---|---|---|
rtthost-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
rtthost-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
rtthost-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
rtthost-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
rtthost-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo probe-rs/probe-rs
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
target-gen 0.26.0
Install target-gen 0.26.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/target-gen-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.26.0/target-gen-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install probe-rs/probe-rs/target-gen
Download target-gen 0.26.0
File | Platform | Checksum |
---|---|---|
target-gen-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
target-gen-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
target-gen-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
target-gen-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
target-gen-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the [GitHub CLI](https://cli.github.com/manual/gh_attestation_ver...
0.25.0
Release Notes
Released 2024-12-16
Added
- Added
--preverify
to skip flashing regions that are up to date.
Addedprobe-rs verify
that only verifies flash contents. (#2722) by @bugadani - Add support for the Fujitsu/Cypress/Infineon FM3 high performance series. (#2566) by @jeffglaum
- Added an optional
ReadFlash
flash algorithm function. (#2727) by @bugadani - Added support for new nRF54 chips: nRF54L15. (#2911) by @Dirbaio
- Added support for Texas Instruments MSPM0C series (#2811) by @i509VCB
- Added support for MIMXRT118x memory access (
probe-rs read/write
) (#2916) by @glaeqen probe-rs
can now automatically detect XMC4xxx devices without--chip
(#2608) by @bugadani- Added
--name
option totarget-gen test
(#2597) by @bugadani - arm: Add RAM boot feature which could also be extended to other architectures. This feature works
by detecting in whether the entry point of an application is located inside the RAM region. If it
is, it will execute a special ARM sequence to run the application directly. (#2680) by @robamu - arm: Added jtag_tap option to ARM core access options. (#2924) by @robamu
- Added
Rtt::up_channel
andRtt::down_channel
(#2580) by @bugadani - Added support for the Vorago VA108xx family of MCUs by adding a chip description file for the
VA108xx family (#2673) by @robamu - The core is now halted when flashing the RAM (#2672) by @robamu
- Added support for the MIMXRT118x (Cortex-M33 core only) (#2916) by @glaeqen
- Added debug sequences for STM32H7S/STM32H7R (#2884) by @a6f
- Add support for HPMicro's HPM5300 series of MCUs (#2575) by @andelf
- Added support for Digilent HS1, HS2, and HS3 FTDI probes. (#2793) by @craigjb
- Assign cores to NvmRegions created from flash algorithms (#2887) by @a6f
- Added support for GigaDevice GD32C1x3 series (#2737) by @guineawheek
- Added the option to register new debug sequences. To do this, users must implement
probe_rs::vendor::Vendor
and register it usingprobe_rs::vendor::register_vendor()
. (#2471) by @bugadani - MIMXRT: reset the FlexRAM configuration to the boot fuses when resetting the MCU. (#2510) by @mciantyre
- Add support for the MIMXRT685S series of chips. (#2560) by @felipebalbi
- Added progress bars to
probe-rs erase
. (#2724) by @bugadani - Added the
Privileged
bit to APB4 and APB5 of the AMBA CSW register. (#2798) by @xobs - Added support for tunneled JTAG access to RISC-V targets configured with a
RiscvJtagTunnel
inChip::jtag
. (#2794) by @craigjb - target-gen: Added
reformat
command to reformat a YAML file or a directory of YAML files. (#2548) by @bugadani - Added support for new STM32H5 chips: STM32H523CCTx, STM32H523CCUx, STM32H523CETx, STM32H523CEUx, STM32H523HEYxT, STM32H523RCTx, STM32H523RETx, STM32H523VCIx, STM32H523VCTx, STM32H523VEIx, STM32H523VETx, STM32H523ZCJx, STM32H523ZCTx, STM32H523ZEJx, STM32H523ZETx, STM32H533CETx, STM32H533CEUx, STM32H533HEYxT, STM32H533RETx, STM32H533VEIx, STM32H533VETx, STM32H533ZEJx, STM32H533ZETx, STM32H562AGIx, STM32H562IGKx, STM32H562IGTx, STM32H562RGTx, STM32H562RGVx, STM32H562VGTx, STM32H562ZGTx, STM32H563AGIx, STM32H563AIIxQ, STM32H563IGKx, STM32H563IGTx, STM32H563IIKxQ, STM32H563IITxQ, STM32H563RGTx, STM32H563RGVx, STM32H563VGTx, STM32H563VITxQ, STM32H563ZGTx, STM32H563ZITxQ, STM32H573AIIxQ, STM32H573IIKxQ, STM32H573IITxQ, STM32H573VITxQ, STM32H573ZITxQ (#2641) by @bugadani
- Added
AccessPort
a sum-type of all access port classes (#2683) by @ithinuel - Added STM32F205RGEx target information (#2570) by @bugadani
- Added support to probe-rs-tools to print messages using
semihosting
. (#2740) by @bugadani - Added a warning when refusing to read an RTT channel name because of the target description. (#2867) by @nilfit
- Added new
Error::CoreDisabled
variant. (#2713) by @bugadani - Added support for GD32F10x (#2611) by @AlksB
- Added
MemoryAccess
attributes toRamRegion
,NvmRegion
andGenericRegion
(#2581) by @bugadani - arm: Fall back on SWDv2 wake from dormant on SWDv1 failure (#2914) by @seanmlyons22
- Add support for the Tiva-C series of chips. (#2792) by @BauerBank
- cargo-embed: use
ctrl+tab
andctrl+shift+tab
to move to next/previous tab. Usectrl+number
to switch to thenumber
th tab.
cargo-embed:PageUp
andPageDown
now scroll a half screen's worth of lines.
cargo-embed: handleUp
andDown
arrows to scroll the list one line at a time. (#2618) by @bugadani - Added API to disable PC sample in ARM (#2813) by @gdobato
- Added ADuCM302x target information from pack file (#2721) by @IoTPanic
- Added support for the Vorago VA416xx family of MCUs by adding a chip description file for the
VA416xx family and a VA416XX specific ARM debug sequence (#2601) by @robamu probe-rs
now has basic support to represent Access Port V2 address format. (#2600) by @ithinuelprobe-rs
can now automatically detect nRF, ESP32 and certain ATSAM devices without--chip
(#2475) by @bugadani- Added support for new STM32U5 chips: STM32U5F7VITx, STM32U5F7VITxQ, STM32U5F7VJTx, STM32U5F7VJTxQ, STM32U5F9BJYxQ, STM32U5F9NJHxQ, STM32U5F9VITxQ, STM32U5F9VJTxQ, STM32U5F9ZIJxQ, STM32U5F9ZITxQ, STM32U5F9ZJJxQ, STM32U5F9ZJTxQ, STM32U5G7VJTx, STM32U5G7VJTxQ, STM32U5G9BJYxQ, STM32U5G9NJHxQ, STM32U5G9VJTxQ, STM32U5G9ZJJxQ, STM32U5G9ZJTxQ (#2646) by @bugadani
- Added support for cli interactive probe selection when multiple probes are found (#2490) by @teburd
- Added support for new STM32F4 chips: STM32F401CCFx, STM32F412REYxP, STM32F412RGYxP, STM32F429ZGYx, STM32F439ZGYx, STM32F446ZCJx (#2629) by @bugadani
- Added ARM debug sequence for stm32-armv8 (#2697) by @gdobato
- Added
--path
option to cargo embed. (#2594) by @bugadani - TI: Added support for the cc13x4_cc26x4 family of devices (#2532) by @seanmlyons22
- Added support for new STM32F7 chips: STM32F723VCTx, STM32F723VCYx, STM32F723VETx, STM32F733ZEIx, STM32F765VGHx, STM32F765VIHx, STM32F767VGHx, STM32F767VIHx, STM32F777VIHx (#2630) by @bugadani
cargo embed
now takes an optional --config-file parameter (#2846) by @chrysn- Added initial support for the Black Magic Probe in bit-bang mode. (#2791) by @xobs
- Added the Cortex-M VTOR vector table offset core register definition (#2664) by @robamu
- Extended the ITM api to support configurable packet transmission settings.
(#2931) by @irina-nita - Added
--chip
totarget-gen test
(#2592) by @bugadani - Added support for STLink-V3PWR (#2719) by @trlim
- Add types for each type of
MemoryAp
. (#2683) by @ithinuel - Add support for the LPC54102 family (only the primary Cortex-M4F is supported, not the secondary Cortex-M0+). (#2525) by @jfrimmel
Changed
- The
Core::dump
function has been replaced byCoreDump::dump_core
, to make the interaction with thedebug
feature clearer. (#2634) by @Tiwalun - Updated STM32L0 family information. (#2642) by @bugadani
- Rename ArmProbe to ArmMemoryInterface (#2704) by @ithinuel
- Reorganized exception handling code, introduce
debug
feature to allow
disabling debug functionality. (#2634) by @Tiwalun - Updated STM32L1 family information. Note that this changes the target names by adding a package-specific suffix (e.g. STM32L100RB became STM32L100RBTx) (#2644) by @bugadani
- Rename the trait
AccessPort
toAccessPortType
(#2683) by @ithinuel - Updated STM32WL family information. (#2647) by @bugadani
- Debug sequences are now available at
probe_rs::vendor::<VENDOR>::sequences
(#2471) by @bugadani - Changed the type returned by
ArmCommunicationInterface
to a collection of addresses (#2683) by @ithinuel - Register names are now lower-case when gdb-debugging through gdbstub. This makes probe-rs compatible with lldb. (#2879) by @danlehmann
- The
semihosting
module is now public, and the reexports have been removed fromprobe_rs
. (#2740) by @bugadani - Updated memory maps for most of STM32 chips. (#2556) by @bugadani
- Derive
PartialOrd
/Ord
&Hash
on addresses (#2683) by @ithinuel Rtt::{up, down}_channels
now return an immutable slice of chanels. (#2580) by @bugadani- Removed the
memory_map
argument fromRtt::attach
andRtt::attach_region
. (#2595) by @bugadani - Upgrade
defmt-decoder
tov0.4.0
(#2809) by @Urhengulas - Increased the potential throughput of J-Link and FTDI probes when communicating with ARM chips using JTAG. (#2681) by @bugadani
JtagCommandQueue::schedule
now takes a type that implsInto<JtagCommand>
. (#2689) by @bugadani- Updated STM32L4 family information. (#2649) by @bugadani
- arm: Use FullyQualifiedApAddress instead of MemoryAp and GenericAp in method (#2706) by @ithinuel
- probe-rs no longer reserves all remaining memory for the flash algorithm's stack. (#2577) by @bugadani
- Updated STM32H7 families. (#2643) by @bugadani
- Updated STM32C0 family information. (#2894) by @a6f
- Factorize the variants of
MemoryInterface
where only the return type changes intoMemoryInterface
with a generic type defaulting toprobe_rs::Error
. (#2705) by @ithinuel - Renamed the
esp32-3.3v
target toesp32
(#2755) by @bugadani - Moved
RamRegion::is_boot_memory
toMemoryAccess::boot
(#2581) by @bugadani - Updated STM32L5 family information. (#2645) by @bugadani
- Added the option to refer to STM32 targets without their package suffix (#2754) by @bugadani
Fixed
- Fixed RAM size of STM32F303VC chips (#2552) by @bugadani
- Fixed error while trying to write to RTT on a RISC-V chip (#2622) by @bugadani
- Fix broken timeout in
cortex_m_reset_system
(#2917) by @glaeqen - probe-rs now correctly disables all watchdogs of ESP32-S2 and ESP32-S3 (#2902) by @bugadani
- Fixed file paths used for Rust's standard libraries by mapping the path to Rust's sysroot (#2635) by @staticintlucas
- Fixed error of creating RTTControlBlockHeader from memory slice (#2610) by @AlksB
- Fixed some cases where probe-rs would print "RTT control block corrupted". (#2547) by @b...
0.24.0
Release Notes
Released 2024-05-22
Changes to the installation of probe-rs
The binaries probe-rs
, cargo embed
and cargo flash
have been moved to a separate probe-rs-tools
crate. This means that the installation method has changed as well.
The recommended way to install the binaries is to use the provided installer scripts:
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/probe-rs/probe-rs/releases/download/v0.24.0/probe-rs-tools-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install probe-rs/homebrew-probe-rs/probe-rs
See the probe-rs homepage at https://probe.rs or the README for more details.
Added
- Added support to run embedded-test testcases (#2292) by @t-moe
- Added support for STM32U0 devices (#2366) by @Dirbaio
- Add support ELF64 to load programs for AArch64. (#2270) by @tnishinaga
- Added SAM3X target (ATSAM3X4C, ATSAM3X4E, ATSAM3X8C, ATSAM3X8E and ATSAM3X8H). (#2293) by @BadyJoke
- added enable/disable kickstart power for J-Link (#2163) by @zakimoo
- Added
verify
anddisable_double_buffering
options to Embed.toml (#2419) by @bugadani - Added
SYS_EXIT_EXTENDED
andSYS_GET_CMDLINE
semihosting operation decoding. (#2241) by @t-moe - Update the
STM32WB_Series.yaml
targets withtarget-gen arm --filter STM32WBxx_DFP
(#2248) by @kquinsland cargo embed
andcargo flash
now try to verify image compatibility (#2329) by @bugadani- Add support for the HK32F030M series of chips. (#2281) by @prosper00
- probe-rs now has a machine interface (MI).
The machine interface can be accessed viaprobe-rs mi
and is intended to have a set of
machine operable & readable commands & responses.
This will allow for example a CI to use probe-rs in predictable fashion or allows auto-updaters to install the most current version.
A separate crate with interface types calledprobe-rs-mi
was added to let users easily parse the output of the MI. (#2459) by @Yatekii - Add the
list_break
command toprobe-rs debug
to list the set breakpoints. (#2385) by @mciantyre - Add support RTT for 64bit processor (#2296) by @tnishinaga
- Expose all probe options as environment variables (#2232) by @korken89
- Added autocompletion support for probe-rs
For zsh and bash, connected debug probes and loaded chips are autocompleted too for the respective arguments. (#1299) by @Yatekii - Users can now specify IP address for dap-server to bind. (#2373) by @KOBA789
- Added semihosting support for Xtensa Architecture (#2292) by @t-moe
- Added
DebugProbeInfo::is_probe_type
to simplify filtering probe types (#2238) by @bugadani - Added support for Renesas RA0, RA2, RA4, RA6, RA8 series chips (#2473) by @pdh11
- Users can now specify RTT channel operating mode for the debugger. (#2326) by @bugadani
- Armv8a: add fast memory access functions for AArch64 (#2271) by @tnishinaga
- Debug: When a "Reset Handler" is identifiable in the call stack, the stack unwind will include a handler frame, similar to those for other exception handlers. (#1935) by @noppej
- Added support for SWM341 (#2424) by @hysonglet
- Commands in the probe-rs util now have a
--report
flag which allows users to generate a ZIP with info about their error if the command leads to an error.
The ZIP is NOT uploaded. It is saved to disk and can be inspected and manually uploaded to e.g. Github. (#2472) by @Yatekii - Report an error when the probe does not support the requested protocol (#2264) by @ithinuel
- Error out when a DPv3 is detected (#2264) by @ithinuel
- The MI now has a
meta
command that returns a bunch of meta info about the binary build, such as the version or the commit hash off which the binary was built. (#2459) by @Yatekii - Autodetect the core to attach the RTT server by looking at which core can access the RAM where the RTT control block is (#2297) by @guissalustiano
- Added
into_iter()
tortt::Channels
(#2247) by @bugadani - Added support for the EFM32PG22 series of chips (#2408) by @sirhcel
- Added the option to select which JTAG TAP a given RISC-V or Xtensa core belongs to. (#2386) by @bugadani
- Added support for the STM32H7Rx/STM32H7Sx (STM32H7 "bootflash line") series of chips (#2469) by @Dirbaio
- Support for Texas Instruments cc13x2_cc26x2 device family (#1729)
- Made JTAG scanning optional during configuration (#2215) (#1771) by @seanmlyons22
Changed
Rtt::up_channels
andRtt::down_channels
are now public (#2247) by @bugadani-
- The
probe-rs dap-server
command now handles the--log-to-folder
and--log-file
CLI arguments. - When neither option is supplied, the default behaviour is that logs are written to the DAP client's "Debug Console" window.
- The
- Reworked the
rtt
section inEmbed.toml
. (#2249) by @bugadani - If no
RUST_LOG
environment variable is set, the probe-rs DAP server will now use a default logging configuration ofprobe_rs=warn
. (#2457) by @noppej - The
Run
cmd has been refactored to allow multiple different run modes in the future. (#2295) by @t-moe - By default,
defmt
RTT channels are configured toBlockIfFull
. (#2326) by @bugadani - Only enumerate alternate multi-drop addresses if the Default address failed (#2352) by @ithinuel
- Renamed
--probe-selector
to--probe
incargo embed
(#2262) by @bugadani DebugProbeInfo::probe_type
is no longer public. You can useDebugProbeInfo::is_probe_type
to filter.
You no longer need to supply alister
toDebugProbeInfo::open
(#2238) by @bugadani- Renamed the
--format
argument to--binary-format
for upcoming embedded-test integration. (#2240) by @t-moe - The binaries
probe-rs
,cargo embed
andcargo flash
have been moved to a separate
probe-rs-tools
crate. This means that the installation method has changed as well.
See the probe-rs homepage at https://probe.rs or the README for the updated installation instructions. (#2364) by @Tiwalun - RTT: defmt location information is no longer displayed by default.
RTT: timestamps are now displayed by default, if available.
RTT:show_timestamps
andshow_location
can now only be set in the up channel configuration.
RTT: channel names are no longer configurable. (#2377) by @bugadani - Changed how architecture-specific core interfaces are accessed:
probe::Probe::try_get_xtensa_interface
now takes anXtensaDebugInterfaceState
object that should be saved and reused between interface accesses.probe::Probe::try_get_riscv_interface
has been renamed totry_get_riscv_interface_factory
and returns a builder object to create state objects, and to attach the probe using such a state object.- The corresponding
DebugProbe
APIs have been changed. (#2386) by @bugadani
Fixed
- Debug: During a stack unwind, incorrect processing of function identifiers, sometimes displayed incorrect function names and associated variable definitions in the stack. (#2302) by @noppej
- Prevent duplicate inputs being registered in cargo-embed on Windows. (#2260) by @calebfletcher
- Provide a helpful error message when invalid
connectUnderReset
is used. (#2219) by @noppej - Fix detection of the defmt timestamp functionality as reported by ELF symbols (#2267) by @Javier-varez
- Do not 'silence' errors that need to be reported to the user. Specifically errors during the
attach
andlaunch
requests, where flashing can fail, and the user needs to know about it. (#2439) by @noppej - Fix wlink detection fail. (#2273) by @andelf
- RISC-V: fixed an issue that accidentally disabled the debug module during certain operations (#2224) by @bugadani
- Fixed the most frequent
RTT: Control block corrupted
errors (#2340) by @bugadani - Improved error reporting for CMSIS-DAP probes. (#2479) by @gtsiam
- The process of finding function DIE's assigned the
low_pc
andhigh_pc
values based on only the last processedgimli::Range
for the funciton DIE. (#2258) by @noppej - The debugger can now handle nested arrays in C code (#2268) by @bugadani
- Fixed cargo-embed not processing defmt data correctly (#2323) by @bugadani
- Fixed selecting one of multiple ESP USB JTAG probes (#2382) by @bugadani
- Fixed flashing certain STM32F750 variants (#2312) by @bugadani
- ARMv8A: Fix a problem that RTT Attach fails because the core is not halted during memory access. (#2269) by @tnishinaga
- The debug unwind sometimes reported "unknown" for function names, when the DWARF encodes the name behind a
DW_AT_specification
reference. The fix will resolve any of the attributes, not just the name, which are in the DIE referenced by theDW_AT_specification
tag. (#2291) by @noppej - Probe-rs should now succeed more at flashing RISC-V ESP32 devices (#2365) by @bugadani
- fix
probe-rs attach
"Timeout occurred during operation." error. (#2259) by @eZioPan - Fixed so that secure flash area on LPC55S69 can be loaded. (#2353) by @te-johan
- It is now possible to
probe-rs erase
ESP32 chips (#2279) by @bugadani - ATSAMD devices should no longer fail to reset after a chip erase. (#2325) by @bugadani
- Revise the MIMXRT1170 reset sequen...
0.23.0
Release Notes
Released 2024-02-24
Added
-
Added option to specify load address for flash algorithm data pages (#2099) by @bugadani
-
Added multidrop support for J-Link probes (#2079) by @bugadani
-
Added support for 16bit reads and writes. (#2018) by @Dirbaio
-
probe-rs info now supports Xtensa devices (#2022) by @bugadani
-
Added
chipDescriptionPath
to debug server configuration
rtthost: Small refactor to reuse code (#2050) by @bugadani -
It is now possible to configure the speed of FTDI probes (#2075) by @bugadani
-
Allow specifying a chip via environment variable (#1958) by @jessebraham
-
Add support for the esp32 targets (3.3V VDD_SDIO) (#2102) by @bugadani
-
Add support for AirMCU series. (#1974) by @HalfSweet
-
Added ARM interface support (JTAG only) to FTDI probes. (#2090) by @bugadani
-
Add support for using a hart other than hart 0 (#2080) by @bjoernQ
-
debug: Added
StackFrame::canonical_frame_address
andStackFrameInfo
(#2134) by @bugadani -
Exposed the internal probe implementations (#2027) by @bugadani
-
Support specifying a TARGETSEL value to the
probe-rs info
subcommand. This can be used to see information about a SWD multi-drop target. (#2092) by @Tiwalun -
Added support to
cargo embed
for publishing raw RTT data for specific channels on a tcp socket. (#2126) by @ijager -
probe-rs now supports flashing STM32WLE5CCUx MCUs (#2036) by @elpiel
-
probe-rs now supports flashing CH32V307 MCUs (#2136) by @Marcuss2
Changed
-
Ensure then when executing setup commands and sequences that the core is halted. (#2151) by @MabezDev
-
UnitInfo
is now public.
VariableCache::new_dwarf_cache
andVariableCache::create_variable
now take anOption<&UnitInfo>
. (#2150) by @bugadani -
The FTDI probe driver is now enabled unconditionally (#2077) by @bugadani
-
The following are now available under
probe_rs::probe
:AttachMethod
,DebugProbe
,DebugProbeError
,DebugProbeInfo
,DebugProbeSelector
,Probe
,ProbeCreationError
,ProbeFactory
,WireProtocol
Lister
is now available underprobe_rs::probe::list
(#2027) by @bugadani -
Moved
scan_chain
underjtag
in target descriptions (#2082) by @bugadani -
The scan chain information in target descriptions is now always used to validate the measured JTAG chain. (#2082) by @bugadani
-
Use the
nusb
crate for USB I/O. (pure-Rust replacement forrusb
/libusb
). (#1842) by @Dirbaio
Fixed
- Fixed
--speed
being ignored by J-Links (#2109) by @bugadani - Temporarily pin defmt-decoder version to deal with breaking change in 0.3.10 (#2156) by @tommy-gilligan
- cmsis-dap: Increase USB timeout to 1s. (#2205) by @Tiwalun
- jlink: Consider free memory size reported by J-Link when performing SWD transfers. (#2144) by @Tiwalun
- Don't stop DAP debugger server when an error unwinding an exception occurs. (#2198) by @Tiwalun
- Fix reading back an empty buffer from the espusbjtag probe on a cold boot. (#2173) by @MabezDev
- Fixed logging causing multiple progress bars to appear in console output. (#2104) by @bugadani
- Fixed flashing MIMXRT1060 devices (#2089) by @bugadani
- Fixed STM32G431xB flashing, which was broken by adopting the version 1.5.0 STM32G4 target pack from upstream. (#2061) by @dlaw
- espusbjtag, ftdi: fix IR length measurement (#2024) by @bugadani
- Fixed
probe-rs info
not recognising Xtensa chips if probe supports SWD (#2069) by @bugadani - Fixed cargo-embed not respecting the target's preferred image format. (#2104) by @bugadani
- Do not print RTT error if there is nowhere to look for the control block (#2073) by @bugadani
- Fixed a regression that made it impossible to select a chip target that was a substring of another chip (eg cortex-m3 is a substring of cortex-m33) (#2121) by @9names
- Debug: Do not fail when encountering new
DW_AT_accessibility
attribute in debug info. (#2149) by @noppej
Removed
- Removed the redundant
begin_data
field ofFlashAlgorithm
(#2095) by @bugadani - Removed
DebugProbeType
(#1996) by @bugadani - Removed the
ftdi
andftdi-vendored
features (#2077) by @bugadani - Removed (hidden) private Xtensa APIs (#2051) by @bugadani
probe-rs 0.23.0
Install probe-rs 0.23.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/probe-rs-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/probe-rs-installer.ps1 | iex
Install prebuilt binaries via Homebrew
brew install probe-rs/homebrew-probe-rs/probe-rs
Download probe-rs 0.23.0
File | Platform | Checksum |
---|---|---|
probe-rs-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
probe-rs-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
probe-rs-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
probe-rs-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
rtthost 0.23.0
Install rtthost 0.23.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/rtthost-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/rtthost-installer.ps1 | iex
Install prebuilt binaries via Homebrew
brew install probe-rs/homebrew-probe-rs/rtthost
Download rtthost 0.23.0
File | Platform | Checksum |
---|---|---|
rtthost-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
rtthost-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
rtthost-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
rtthost-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
target-gen 0.23.0
Install target-gen 0.23.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/target-gen-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.23.0/target-gen-installer.ps1 | iex
Install prebuilt binaries via Homebrew
brew install probe-rs/homebrew-probe-rs/target-gen
Download target-gen 0.23.0
File | Platform | Checksum |
---|---|---|
target-gen-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
target-gen-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
target-gen-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
target-gen-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.22.0
Release Notes
Released 2024-01-03
Added
-
Add support for CH32V003 RV32EC RISC-V MCU (#1876) by @andelf
-
Add support for
SAMV71
series targets (#1861). (#1861) by @matteocarnelos -
target-gen: Add support for Cortex-M55 and Cortex-M85 (#1959) by @Tiwalun
-
Add OpenTitan target file with description of the Earl Grey chip. (#1980) by @jwnrt
-
Added support for riscv semihosting SYS_EXIT syscall.
Please note that probe-rs with espflash < 3.0 will probably fail to flash a binary containing semihosting calls due to esp-rs/espflash#522 (#1901) by @t-moe
-
Add support for the esp32c2 target (#1869) (#1869) by @SergioGasquez
-
Added support for EFM32PG1B series microcontrollers. (#1845) by @BogdanOlar
-
Xtensa: Add flashing support for the esp32s3 (#1956) by @bugadani
-
The debugger REPL commands now have an implementation for
backtrace
. The stacktrace is serialized using the yaml format. (#1918) by @noppej -
Allow specifying the default
Format
for a targetRefactor the target definition to allow specifying the default Format
for a given target. By default all targetsdefault_target
isElf
,
except for the esp32* targets which are nowIdf
. (#1886) by @MabezDev -
Added support for LM3S series targets. (#1990) by @evanmcclure
-
Added the concept of transfer encoding that is applied during firmware download. Added the Miniz encoding. (#1947) by @bugadani
-
Added a new
dump
command for the CLI and vscode REPL to dump a full core state (#1783). (#1783) by @Yatekii -
Handle the
DW_AT_specification
attribute when unwinding. (#1853) by @Tiwalun -
Add
--catch-reset
&--catch-hardfault
cli flags (#1899) by @MabezDev -
Custom debug sequences for ATSAMD1x, D2x, DAx micros. Enables DSU-based chip erase. (#1855) by @ianrrees
-
Add support for the esp32h2 target (#1862) (#1862) by @MabezDev
-
Add scan chain support for the esp32* targets and the espusbjtag driver. (#1878) by @MabezDev
-
The rtthost gets the ability to reset the targert after the RTT session is established. (#1900) by @Sh3Rm4n
-
Added support for PAC52XX series microcontroller. (#1868) by @liamkinne
-
Added experimental support for WCH-Link probe in RV mode. (#1437) by @andelf
Changed
-
Continue running the core if an unsupported semihosting call occured.
Previously,
probe-rs run
would exit with "the CPU halted unexpectedly", whenever an unknown semihosting operation occurred.
With this change,probe-rs run
will print a warning and then automatically continue the core. (#1901) by @t-moe -
dap-server
: Move initial check of core state fromthreads
request toconfiguration_done
request. (#1903) by @Andrew-Collins -
Renamed
JTAGAccess::get_idle_cycles
toidle_cycles
and removed redundant inherent fns (#1924) by @bugadani -
Reduced logging level for custom debug sequences (#1882) by @ianrrees
-
The
dump
command that is used by the VSCode REPL can now be used without specifying memory regions.The resulting coredump will include all the memory regions required to unwind the in-scope functions and variables. (#1930) by @noppej
-
For CLI builds, statically link to libusb to make installation of precompiled binaries easier. (#1830) by @Tiwalun
-
By default,
probe-rs run
andprobe-rs attach
will only scan the memory for the RTT control block if the--rtt-scan-memory
flag is provided. It will still always look for a_SEGGER_RTT
symbol in the ELF file and use that first in all circumstances. (#1919) by @ia0 -
Refactor unwinding code to improve testability, add tests for unwinding. (#1853) by @Tiwalun
-
The
ftdi-vendored
feature now enabledftdi
automatically (#1999) by @bugadani -
Hide vector catch errors when it hasn't been implemented for the target. (#1885) by @MabezDev
-
Logging to file is now off by default. Use
--log-to-folder
or--log-file
to enable. (#1946) by @bugadani -
Improved RISC-V IO utilisation by batching more operations (#1932) by @bugadani
-
The read operations from the
MemoryInterface
trait are moved into a separteReadOnlyMemoryInterface
trait, so that it is clear which code actually changes memory. (#1853) by @Tiwalun -
Updated ESP32 targets to tune flashing speed (#1936) by @bugadani
-
Move the stack refresh functionality to poll_cores, and trigger a refresh when the state changes from 'running' to 'halted'. (#1902) by @Andrew-Collins
-
Rewrote benchmark cli tool, removing report submission and adding multiple speed/size/stride options (#1837) by @9names
-
RP2040 memory map changed from three blocks (256K + 4K + 4K) to one block (264K). Allows ELF files to contain sections that go over the boundaries. (#1943) by @thejpster
-
espusbjtag: don't reset the chip on attach (#1915) by @MabezDev
-
Refactor esp-usbjtag to clean it up some (#1920) by @bugadani
Fixed
-
Disable the second core on LPC55S69 to fix #1802. (#1823) by @Tiwalun
-
Fix LPC55S69 reset sequence
Fix LPC55S69 attach without disturbing target (#1907) by @9names -
Updated the STM32G4 target yaml to version 1.5.0. This fixes the stm32g4xx_256 flash algorithm. (#1896) by @dlaw
-
Flasher: single buffer transfers are now done with u32 writes (#1944) by @bugadani
-
cli: Rename struct to avoid debug assert in
profile
subcommand. Fix #1808. (#1825) by @Tiwalun -
Added missing reset and halt timeout handling for RV32 targets. (#1874) by @andelf
-
Also use serial number to distinguish CMSIS-DAP probes. Fix #1835. (#1835) by @pcc
-
Added missing SRAM entries for STM32L4 microcontrollers. (#1856) by @VilNeo
-
cli/run: Fix a bug where the last messages printed by the code before crashing (like a panic message) did not get printed. (#1890) by @Dirbaio
-
Fixed cases where probe attachment were inconsistent. (#1929) by @MabezDev
-
Fix minor bugs of WCH-Link implementation, add new probe varient. (#1875) by @andelf
-
Flash loader will now properly flash all bytes (#1951) by @bugadani
-
Update debug sequence for LPC55S69 with newest from pack, fixes an issue where the chip would not reset properly. (#1832) by @Tiwalun
-
Change from openSSL to rustls.
The prebuilt binaries depended on the system openSSL installation on Linux.
This meant that they required openSSL1, which is not supported e.g. on Ubuntu 22.04.
Changing to rustls removes this dependency. (#1828) by @Tiwalun -
Issue DAPABORT at startup and after receiving WAIT response from CMSIS-DAP (#1840) by @pcc
-
- Mark all ARM memory accesses as cacheable, to indicate they must not bypass
the cache and instead should see the same data as the CPU. Fixes #1715. (#1883) by @adamgreig
- Mark all ARM memory accesses as cacheable, to indicate they must not bypass
-
Fix the RAM address mapping for the esp32c3. (#1898) by @MabezDev
-
Fix core names and regions in LPC55S69 target description. (#1832) by @Tiwalun
-
dap-server: Return correct type for error response. (#1895) by @Tiwalun
-
target-gen
: Fix incorrect URL formatting (#1860). (#1860) by @matteocarnelos -
espusbjtag: Fixed a potential edge case that could lock up the interface. (#1933) by @bugadani
-
Unlock the OS Lock when starting an ARMv8 core (#1839) by @pcc
-
Correct esp-usbjtag reset assert/deassert levels. (#1922) by @bugadani
-
Prevent Debug Adapter Protocol workarounds for VSCode quirks from breaking other DAP clients. (#1872) by @linuxtim
Removed
probe-rs 0.22.0
Install probe-rs 0.22.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.22.0/probe-rs-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.22.0/probe-rs-installer.ps1 | iex
Download probe-rs 0.22.0
File | Platform | Checksum |
---|---|---|
probe-rs-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
probe-rs-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
probe-rs-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
probe-rs-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |
rtthost 0.22.0
Install rtthost 0.22.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.22.0/rtthost-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.22.0/rtthost-insta...
0.21.1
Release Notes
Released 2023-10-12
Added
- rtthost: Add --version
Changed
cli
: SimplifyRttActiveChannel::get_rtt_data
(#1806)
Fixed
- debug: Do not crash and, and improve error message when unwinding memory location for optimized binaries. (#1810)
probe-rs 0.21.1
Install probe-rs 0.21.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/probe-rs-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/probe-rs-installer.ps1 | iex
Download probe-rs 0.21.1
File | Platform | Checksum |
---|---|---|
probe-rs-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
probe-rs-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
probe-rs-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
probe-rs-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |
rtthost 0.21.1
Install rtthost 0.21.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/rtthost-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/rtthost-installer.ps1 | iex
Download rtthost 0.21.1
File | Platform | Checksum |
---|---|---|
rtthost-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
rtthost-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
rtthost-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
rtthost-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |
target-gen 0.21.1
Install target-gen 0.21.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/target-gen-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/probe-rs/probe-rs/releases/download/v0.21.1/target-gen-installer.ps1 | iex
Download target-gen 0.21.1
File | Platform | Checksum |
---|---|---|
target-gen-aarch64-apple-darwin.tar.xz | macOS Apple Silicon | checksum |
target-gen-x86_64-apple-darwin.tar.xz | macOS Intel | checksum |
target-gen-x86_64-pc-windows-msvc.zip | Windows x64 | checksum |
target-gen-x86_64-unknown-linux-gnu.tar.xz | Linux x64 | checksum |
v0.21.0
Released 2023-10-04
Added
- Added Target for MSPM0L (#1789)
- Support for EFM32 Happy Gecko MCUs (#1747)
- Added RA4M1 series target, R7FA4M1AB. (#1706)
- Support for NXP i.MX RT500 series chips: MIMXRT595S, MIMXRT555S, MIMXRT533S (#1642)
- Added --no-location option to the CLI run command, which suppresses the filename and line number
information from the rtt log (#1704) - target-gen: Add new
--test-address
option to thetarget-gen test
subcommand. (#1708) cli
: Add--verify
flag todownload
,flash
andrun
(#1727)cli
: Addread
andwrite
commands to interact with target memory (8,32,64 bit words) (#1746)- Added STM32U5A and STM32U59 targets. (#1744)
- Added AT32F4 series targets (#1759)
- Allowed JTAG scan chain information to be encoded in targets (#1731)
- Added support for IDF and BIN to cargo flash. Added UF2 support to cargo
flash and probe-rs. (#1765) - Support for handling an Arm Cortex-M Semihosting 'Exit Success' or 'Exit Failure' command. (#1755)
- Added getters to registry :
get_targets_by_family_name
&get_target_and_family_by_name
, changeget_target_by_name
. (#1770) - Support for vector catch in Armv8-M targets (#1709)
- Add log rotation to stop disks from filling. Currently a maximum of 20 logs is kept. (#1780)
- Allow to customize the defmt log format with
--log-format
. (#1788)
Changed
cli
: Allow to interruptprobe-rs run
during RTT scan (#1705).cli
: Ignore errors fromenable_vector_catch
(#1714).cli
: Retry RTT attach before continuing (#1722).cli
: Clean clap attributes (#1730)target-gen
: (#1745)- Memory regions in target.yaml are now sorted with lowest address first.
- Use
.pdsc
flash algorithmRAMstart
field to calculateload_address
for target yaml.
- Target definitions can now constrain the RTT automatic scanning ranges to just a subset of all available RAM, to support targets that have large amounts of RAM that would take a long time to scan. (#1738, #1749)
cli
: Outputdefmt
logs as colored (#xxxx)
Fixed
- Handle non-secure RESET peripheral in nRF5340
debug_core_unlock
sequence.
Removed
cli
:dump
subcommand, replaced byread
.
0.20.0
Release Notes
Released 2023-07-19
Added
dap-server
: In addition toElf
format, this adds support for binary formatsBin
,Hex
, andIdf
(#1656).- Added PAC55XX series targets (#1655)
- Added support for JTAG commands via CMSIS-DAP protocol (#1462)
core
: Added PAC55XX series targets (#1655)core
: Stack unwinding can now unwind beyond (optionally nested) exception handlers (#1665).- ARMv6-M: Report Exception / Fault description, and Unwind the registers and next frames.
- ARMv7-M: Also decodes details about HardFault, UsageFault, BusFault, and MemManageFault.
- ARMv7-A, Armv8-M, Armv8-A, RISC-V: Not implemented - requires architecture specific implementations.
cli
: Added a simple profiler to the probe-rs cli toolkit (#1628)core
: Added MSP432E4 target (MSP432E401Y and MSP432E411Y). (#1139)core
: Added vector catch for ARMv6-M and ARMv7-M (#1592)- Currently supported are HardFault and CoreReset.
cli
: The run command now prints a stack trace onHardFault
(#1592)- Added a simple profiler to the probe-rs cli toolkit (#1628)
- Added MSP432E4 target (MSP432E401Y and MSP432E411Y). (#1139)
- probe-rs-cli: added
attach
subcommand. (#1672, #1616)
Changed
cli
: more descriptive error messages for ambigous chips (#1671).cli
: When usingmemory
as the trace sink for an ITM trace, the trace is now read
out through the debug registers (#1688)target-gen
: RTT is enabled by default now in thetest
command (#1690).
Fixed
core
: Added a missing reset catch clear that prevented the CPU from properly starting after flashing RTT from attaching (#1675).cli
: fixed--base-address
having no effect (#1664).cli
: fixed--skip
not accepting hexadecimal values (#1664).cli
: all the commands now load the chip description path and provide uniform config arguments (#1691).dap-server
: The VSCode extension reports all STDERR errors if process initialization fails (#1699).debug
: ConsiderRegisterValue
byte size when doing arithmetic on register addresses. (#1701)
Removed
- cli: removed obsolete
--skip-bytes
(which had no effect), use--skip
instead (#1664).
0.19.0
Release Notes
Released 2023-06-27
Changed
- Merged
probe-rs-cli
,probe-rs-debugger
,cargo-embed
,cargo-flash
binaries into theprobe-rs
crate.probe-rs-cli
is now available inprobe-rs
.probe-rs-debugger
is now available asprobe-rs dap-server
.cargo-embed
andcargo-flash
functionality is unchanged, but they are now small shim binaries that invokeprobe-rs
.- Running
cargo install probe-rs
installs theprobe-rs
,cargo-embed
andcargo-flash
binaries.
- Merged the
gdb-server
crate intoprobe-rs
. It's now available underprobe_rs::gdb_server
, and requires enabling thegdb-server
Cargo feature.
Fixed
- probe-rs-debugger: Show errors that happen before VSCode/DAP Client session initializion has completed (#1581).
- probe-rs-cli-util: replace unwanted instance of
println
witheprintln
(#1595, fixes #1593). - stlink: exit JTAG mode on idle to tristate debug interface (#1615).
- probe-rs-debugger: The MS DAP Request
setBreapoints
clears existing breakpoints for the specifiedSource
, and not for allSource
's (#1630) - probe-rs/flashing: Inconsistent address formatting in the "No flash memory contains the entire requested memory range" (
FlashError::NoSuitableNvm
) error message (#1644) - probe-rs/flashing: For targets whose flash algorithms require a fixed load address, always select a RAM region containing that address. (#1646)
- probe-rs: Add support for the esp-idf binary format (#1629)
Added
- Added support for the Olimex ARM-USB-TINY-H JTAG device (#1586).
- Added support for propagating
CoreStatus
to the probe in use (#1588). - Added PY32F0xx series targets (#1619).
- Flashing process can now detect and report if the flashing algorithm locks up the core that it's running on. (#1645)
Removed
- Removed Sentry integration in the CLI tools.
0.18.0
probe-rs (library)
Fixed
-
Add reset catch sequence for Silicon Labs EFM32/EFR32 Series 2 chips.
-
target-gen: Use the correct flash base address when testing flash algorithm (#1542)
-
VSCode and probe-rs-debugger is very slow if
rttEnabled: true
and target application has no RTT initialized (#1497). -
prober-rs-debugger: Using the readMemory request on RISC-V (ESP32C3 board) is slow (#1275).
-
probe-rs-debugger: Improve handling of
disconnect
andterminate
requests. With support in DAP Client/VSCode for: (#1197)Disconnect
- will disconnect the debug session, without affecting the run status of the target application.Disconnect and Suspend
- will halt the target application, before disconnecting the debug session.Terminate
request is not supported, and DAP configuration is such that it won't be requested by the client.
-
probe-rs-debugger: Improve handling of
restart
request. With support in DAP Client/VSCode for: (#1507)Restart
will now restart the debug session. Currently this is support for ARM targets only.- If a newer binary is available, and flashing enabled, then the new binary will be flashed before starting the new debug session.
-
probe-rs-debugger: Ensure VSCode will halt on all configured breakpoints`, irrespective of flashing config. (#1529)
-
probe-rs-debugger: Fix issue where "Watch" variables were not found in the debug session. (#1552)
Changed
-
Update MS DAP protocol to v1.60.0. Documentation clarifications only. (#1458)
-
probe-rs-debugger: Cleaned up the timing of caching unwind information, based on new MS DAP protocol docs. (#1458)
-
probe-rs: Allows
add_target_from_yaml
function to accept multiple sources -
probe-rs-debugger: Remove
restart-after-flashing
option, and make it the default behaviour. (#1550) -
probe-rs: Trigger rebuild if changes in the
PROBE_RS_TARGETS_DIR
detected (#1562). -
probe-rs: Set the flash range of RP2040 to the max supported size (#1567)
-
probe-rs-debugger: Slightly relax the RISC-V restriction when handling
restart
request. Allows restart, but does not re-flash. (#1569)
Added
-
Added EFM32TG11B family targets (#1420)
-
Added LPC55Sxx target (#1513)
-
Added STM32H5xx targets (#1575)
-
Added custom sequence support to STM32L0, L1, L4, G0, G4, F0, F3, WB, WL,
enabling debug clocks during sleep modes (#1521) -
Add default sequence 'debug_core_stop', which disables debugging when disconneting from ARM cores by default. (#1525)
-
probe-rs-debugger: Initial support for 'gdb-like' commands to be typed into VSCode Debug Console REPL. (#1552)
- The
help
command will list available commands, and arguments. - Command completions are supported for the individual commands, but not for the arguments.
- Additional commands can be added in the future, as required, but will benefit from some refactoring to share code with functionality that is already implementated in
dap_adapter.rs
for MS DAP requests.
- The
-
debug: Enable debug experimental support for binaries compiled from C files (GNU C99/11/17). (#1558)
-
Added support for
monitor reset
andmonitor reset halt
commands ingdb-server
(#1565)
cargo-embed
Changed
- Update description of Fedora prequisites in README.md