Skip to content

Releases: probe-rs/probe-rs

0.29.1

13 Jul 22:25
Compare
Choose a tag to compare

Release Notes

Released 2025-07-13

Added

  • Added STLink "Bad AP" error code (0x1D) to the error enum (#3451) by @Dirbaio

Fixed

  • Fixed nRF91xx memory map: set correct RAM size, added UICR memory region.
  • Fixed an issue where RTT channel modes weren't configured properly (#3364) by @bugadani
  • Fixed setting the Program Counter on ARMV8 in AArch32 mode (#3418) by @fdomke
  • Fixed an issue where the Black Magic Probe would always disable target power on reset rather than leaving it alone. (#3431) by @xobs
  • Fixed cortex-m step() erroring with "Timeout" if the single-step causes a lock-up. This fixes "timeout" errors trying to attach to certain chips with blank flash(no firmware). (#3452) by @Dirbaio
  • Fixed an issue where a MEM-AP whose BASE register did not have Present bit set (no ROM tables) would cause probe-rs to issue invalid memory accesses. This was discovered on an STM32H743. (#3404) by @whitequark
  • Fixed printing stack trace on ctrl-c (#3380) by @bugadani
  • Fixed panic in BlackMagicProbe introduced by 49ef7eb (#3398) by @xobs
  • Fixed a crash affecting RISC-V devices. (#3391) by @bugadani

probe-rs-tools 0.29.1

Install probe-rs-tools 0.29.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/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.29.1/probe-rs-tools-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/probe-rs

Download probe-rs-tools 0.29.1

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>

target-gen 0.29.1

Install target-gen 0.29.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/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.29.1/target-gen-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/target-gen

Download target-gen 0.29.1

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:

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.29.1

Install rtthost 0.29.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.1/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.29.1/rtthost-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/rtthost

Download rtthost 0.29.1

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>

0.29.0

21 May 00:08
v0.29.0
cc6b448
Compare
Choose a tag to compare

Release Notes

Released 2025-05-20

Added

  • Added the ability to write back the CPSR on ARMv7A and ARMv7R cores. (#3354) by @xobs
  • Added initial support for TI TMS570. (#3312) by @xobs
  • Added outputting to binary/hex to the read command (#3322) by @Eekle
  • Added an Endian enum and an .endianness() call on CoreInterface (#3343) by @xobs
  • probe-rs can now parse Xtensa and RISC-V coredumps from .elf format (#3293) by @bugadani
  • Added --probe to the test verb for target-gen (#3344) by @xobs
  • Added support for calling BlankCheck on a target to determine whether it has been erased for cases where a blank flash can't be determined by a simple memory compare, such as parts with ECC flash. (#3345) by @xobs
  • Added the MemoryInterface::read() default implementation, which was missing in the calls that are delegated to the memory object (#3349) by @xobs

Changed

  • Always ensure that the ARMv7A core is halted when performing operations, since these require injecting instructions into the pipeline. (#3312) by @xobs
  • Create helper functions for ARMv7A accesses. This allows Sequences to perform operations such as reading and writing main memory or halting the core. Update various CoreInterface calls to use these new helper functions. (#3312) by @xobs

Fixed

  • Fixed CMSIS-DAP probes incorrectly trying to scan the JTAG chain while using SWD. (#3350) by @bugadani
  • Fixed flasher support for ARMv7A, which would otherwise have a misaligned $lr value on return (#3347) by @xobs
  • Fixed jumping to loaded code on an ARMv7R, where bx lr doesn't work when the core is halted but mov pc, r0 does. (#3354) by @xobs
  • Fixed the implementation of fn read() in ADIMemoryInterface when reading byte values and other non-aligned data. (#3349) by @xobs
  • Fixed passing extra fields such as stack_size in the template.yaml file when generating flash algorithms rather than dropping them (#3346) by @xobs
  • Fixed polling RTT with the right core if the location is known upfront. (#3351) by @bugadani
  • Fixed the command in the README for smoke-tester, which was missing the verb test. (#3349) by @xobs
  • Fixed some RTT issues in the debugger. (#3351) by @bugadani

probe-rs-tools 0.29.0

Install probe-rs-tools 0.29.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.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.29.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.29.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>

target-gen 0.29.0

Install target-gen 0.29.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.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.29.0/target-gen-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/target-gen

Download target-gen 0.29.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:

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.29.0

Install rtthost 0.29.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.29.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.29.0/rtthost-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/rtthost

Download rtthost 0.29.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...
Read more

0.28.0

16 May 16:04
3c10cd3
Compare
Choose a tag to compare

Release Notes

Released 2025-05-16

Added

  • Added a remote server/client implementation (#3003) by @bugadani
  • Added idf-target-app-partition for ESP IDF (#2837) by @dragonnn
  • Added config presets. Define a set of values in the probe-rs config file, and activate them all by using --preset name_of_preset. (#3081) by @bugadani
  • Added support for Texas Instruments MSPM0G151x/G351x/L122x/L222x series (#3106) by @i509VCB
  • Added reset support for DPv0, where error conditions must be cleared by writing to Ctrl and not to Abort. (#3176) by @xobs
  • Added support for dpv3 for Black Magic Probes (#3102) by @xobs
    • Added --target-output-file to probe-rs run and attach, allowing output to be stored in files or named pipes. (#3249) by @chrysn
    • Renamed backtrace to bt. The base command now prints a short backtrace only.
    • Implemented the following debugger console commands: info break, info reg, clear, bt yaml. (#3190) by @bugadani
  • Added the ability to set speed and protocol in smoke-tester and target-gen. (#3111) by @seanmlyons22
  • Added verifyBeforeFlashing and verifyAfterFlashing options to debugger configuration. (#3154) by @bugadani
  • Debugger now handles DW_AT_type DebugInfoRef (#3278) by @bugadani
  • CMSIS-DAP probes can now be used to connect to RISC-V and Xtensa MCUs. (#3230) by @bugadani
  • Added OTP memory to STM32 targets (#3263) by @bugadani
  • Added support for more NXP's MCXA MCUs. (#3093) by @Logiase
  • Added Core::set_hw_breakpoint_unit to update a selected breakpoint unit. (#3306) by @bugadani
  • Added support for SiFli uart debug probe. (#3150) by @HalfSweet
  • Added probe-rs configuration file. (#3003) by @bugadani
  • Added Probe::attach_with_registry and attach_under_reset_with_registry to allow working with a custom registry. (#3149) by @bugadani
  • Added support for Microchip's MEC172x series. (#3247) by @jeffglaum
  • Added catch-hardfault and catch-reset options to debugger configurations. (#3232) by @bugadani
  • CMSIS-DAP: Added the nTRST pin for JTAG, and ensure it's deasserted at init (#3290) by @xobs
  • Added a probe-rs profile option to measure the program counter via the ARM DWT program counter sample register (PCSR). (#3196) by @mciantyre
  • Added support for NXP's LPC865. (#3129) by @Hoohaha
  • Added API calls to automatically attach a Session with a provided Registry (#3289) by @xobs
  • Added --skip-section option to flashing commands (#3275) by @jnkr-ifx
    • Added ProbeLister::list, Lister::list that accepts a device selector.
    • Added ProbeFactory::list_probes_filtered that accepts a device selector. This method has a default implementation that falls back to list_probes.
    • Added DebugProbeSelector::matches_probe. (#3195) by @bugadani
  • Probe-rs now handles (and ignores) the ERRNO semihosting command. (#3115) by @bugadani
  • Added support for TI's CC2340R5.
    • Blank device programming of the CC2340R5 is not yet supported. A valid CCFG must be programmed using TI's uniflash. (#3111) by @seanmlyons22
  • Added support for NXP's MIMXRT1160. (#3082) by @mciantyre
  • Added support for Infineon PSOC 62 family. (#3110) by @jnkr-ifx
  • Partially implemented ExceptionInterface for RISC-V. (#3283) by @bugadani
  • Added support for all PSOC 6 and PSOC Control C3 devices. (#3208) by @jnkr-ifx
  • Added multi-drop support for Black Magic Probes (#3102) by @xobs
  • Added support for GD32F1x0 series MCUs (#2805) by @Serhii-the-Dev
  • Flasher now reports progress for flash content verification (#3079) by @bugadani
  • Added support for spawning gdb directly from probe-rs gdb using --gdb gdb-multiarch. (#3203) by @bjorn3

Changed

  • DownloadOptions and FlashProgress now have a lifetime 'p to allow using short-lived FlashProgress objects. (#3148) by @bugadani
  • The probe-rs debug command now uses the DAP server internally. The commands have been replaced by those available in the DAP server. (#3186) by @bugadani
  • JTAG-specific operations have been removed from Probe and DebugProbe. Use Probe::try_as_jtag_probe to obtain a reference to a JTAG-capable probe. (#3287) by @bugadani
  • The GDB server has been moved from the library into the binary (#3124) by @bugadani
  • JTAGAccess has been renamed to JtagAccess.
    Added JtagAccess::raw_sequence.
    Added probe_rs::probe::JtagSequence. (#3284) by @bugadani
  • Changed auto_attach to optionally set speed, protocol, and permissions via SessionConfig. (#3111) by @seanmlyons22
  • The debugger now shows the name of the nearest symbol as the function name when debug info is not available. (#3303) by @bugadani
  • ESP32 flash algorithms now use maximum CPU clock frequency. (#3096) by @bugadani
  • The default defmt output format is now single line. The previous default can be activated by using the "twoline" log format. (#3049) by @bugadani
  • The FlashLayout visualizer has been moved from the library into the CLI codebase. (#3003) by @bugadani
    • Changed the default reset and hardfault catch behavior from no-catch to catch for probe-rs run and probe-rs attach.
      The --catch-reset and --catch-hardfault flags still exist but now have no effect.
    • Added new --no-catch-reset and --no-catch-hardfault flags to turn off catch-reset and catch-hardfault, respectively (#3224) by @9names
  • Changed SWD protocol probe interface with a type to allow passing single stream of enums instead of two streams of bits. (#3261) by @Cooler1989
  • Use ubuntu-22.04 instead of ubuntu-20.04 in GitHub CI. This may affect the shared library versions required by generated binaries. (#3234) by @jannic
  • The select_target function has been moved from RawJtagIo to JTAGAccess. (#3238) by @bugadani
  • probe-rs-tools now prints RTT channel names if there are multiple. (#3140) by @bugadani
    • Registry is now a public structure instead of internally global configuration.
    • The add_target_family, add_target_from_yaml, families, get_family_by_name, get_target_and_family_by_name, get_target_by_name, get_targets_by_family_name search_chips functions have been removed in favour of Registry methods. (#3149) by @bugadani
  • Replaced Probe::try_into_jlink with generic try_into.
    Removed DebugProbe::try_into_jlink.
    DebugProbe now implements Any. (#3286) by @bugadani
  • The ProgressEvent type has been reworked, different phases have now been unified. (#3079) by @bugadani
  • The debugger now turns the data pointer in slices into arrays so that their data can be inspected. (#3276) by @bugadani
  • Adding nRF9120 target which covers the nRF9161, nRF9151 and nRF9120. (#3258) by @jaredwolff

Fixed

  • ESP-IDF panics no longer print an infinite list of warnings. (#3172) by @bugadani
  • Fixed a few STM32 part numbers which had repeated letters at the end (#3263) by @bugadani
  • Fixed cargo-embed panicking when a core is disabled. (#3107) by @bugadani
  • The debugger can now reflash non-ARM chips when restarting the session. (#3170) by @bugadani
  • probe-rs now correctly disables the RTC WDT of ESP32-S3 (#3132) by @bugadani
  • Fixed an ESP32-specific issue where sometimes probe-rs run reported Xtensa specific errors regarding register 44 or 45. (#3083) by @bugadani
  • Removed stm32f7x_1024dual as default flash algorithm to eliminate multiple default flash algorithms error for many STM32F7xx chips. (#3273) by @mark-broadmeadow
  • Fixed an issue where longer command sequences with j-link probes may be transmitted incorrectly. (#3155) by @bugadani
  • Improved error handling within ARM acquire/reset sequences to better support chips with unusual reset behaviors (#3127) by @jnkr-ifx
  • Fixed that the serial port dtr and rts of sifli debug devices may not be in the expected state when they are open (#3211) by @HalfSweet
  • Fixed a crash during step operations while debugging Xtensa CPUs. (#3304) by @bugadani
  • Fixed an issue where probe-rs info and NXP sequences were looking at the wrong enable bit for memory APs. (#3089) by @ryan-summers
  • RTT channel modes should no longer be reset during a test run (#3134) by @bugadani
  • Xtensa cores are now halted before modifying breakpoints and registers. (#3191) by @bugadani
  • Fixed an issue where RTT channels show up as unnamed in the debugger. (#3169) by @bugadani
  • Fix flashing mass-erased EFM32xG2 devices by using a custom reset sequence (#3076) by @sirhcel
  • Fixed implemented custom deserialization for DebugProbeSelector to support direct conversion from a string (e.g., "0483:374b"). (#3202) by @HalfSweet
  • Fixed an issue that caused stack unwinding to stop early. (#3209) by @bugadani
  • Fixed an issue where halting an ESP-IDF based firmware caused WDT resets. (#3171) by @bugadani
  • Fixed defmt not being able to read messages larger than the RTT buffer. (#3049) by @bugadani
  • Fixed working with RTT when a channel has no name. (#3105) by @bugadani
  • Fixed various breakpoint-related issues (#3304) by @bugadani
  • Xtensa exceptions should no longer cause the debugger to crash. (#3221) by @bugadani

Removed

  • The JtagChainItem struct has been removed in favour of ScanChainElement. (#3230) by @bugadani

probe-rs-tools 0.28.0

Install probe-rs-tools 0.28.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.28.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.28.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.28.0

File Platform Checksum
[probe-rs-tools-aarch64-apple-darwin.tar.xz](https://github.com/probe-rs/probe-rs/releases/download/...
Read more

0.27.0

10 Feb 20:12
v0.27.0
7d59a31
Compare
Choose a tag to compare

Release Notes

Released 2025-02-10

Added

  • Added support for the Arm Debug Interface v6 (ADIv6). Support added for flashing RP235x targets.
    Development sponsored by osdyne. (osdyne.com) (#3005) by @ryan-summers
  • Add a function to reinitialize the connection to the Black Magic Probe. This goes through the entire initialization process with the same sequence as it was originally started with. (#3032) by @xobs
  • Added support for the MCXA series MCUs. (#3087) by @Logiase

Changed

  • Changed all functions in the ArmMemoryInterface trait that return something involving the ArmCommunicationInterface type and replace them with calls that return generic traits. Adapted all functions that relied on the old calls to use the new calls instead. (#3030) by @xobs

Fixed

  • Properly align addresses when reading registers and fields, and avoid reading out of the bounds of the registers (#3041) by @maximeborges
  • Updates STM32H7 memory maps (#3036) by @bugadani
  • Work around a possible infinite loop in stack unwinding (#3042) by @bugadani
  • Fixed probe-rs erase for the ESP32-S2 (#3060) by @bugadani
  • The Black Magic Probe stopped working when #2972 was merged, because it added a call to try_as_parts() that only worked for ArmCommunicationInterface probes and not for probes where the communications interface is handled by the probe itself. Replace this call with one to the new function generic_status(). This also fixes the issue reported in #2977. (#3030) by @xobs
  • Inherit access configuration for registers and fields from device if any (#3040) by @maximeborges
  • Fixed read_8 and read_16 in the recently added ADIv6 implementation, fixing semihosting. (#3070) by @jannic
  • C-Language now properly supports 64bits variables (int, uint and double) (#3048) by @igiona
  • Fixed an error in RTT pointer validation, which caused corrupted control block error messages. (#3056) by @bugadani

probe-rs-tools 0.27.0

Install probe-rs-tools 0.27.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.27.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.27.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.27.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.27.0

Install rtthost 0.27.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.27.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.27.0/rtthost-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/rtthost

Download rtthost 0.27.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.27.0

Install target-gen 0.27.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/download/v0.27.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.27.0/target-gen-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install probe-rs/probe-rs/target-gen

Download target-gen 0.27.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:

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>

0.26.0

17 Jan 21:54
v0.26.0
e92fd37
Compare
Choose a tag to compare

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 the debug feature previously. (#3004) by @Tiwalun
  • Rename psel to targetsel 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...

Read more

0.25.0

16 Dec 19:27
v0.25.0
0b989aa
Compare
Choose a tag to compare

Release Notes

Released 2024-12-16

Added

  • Added --preverify to skip flashing regions that are up to date.
    Added probe-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 to target-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 and Rtt::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 using probe_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 in Chip::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 to RamRegion, NvmRegion and GenericRegion (#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 and ctrl+shift+tab to move to next/previous tab. Use ctrl+number to switch to the numberth tab.
    cargo-embed: PageUp and PageDown now scroll a half screen's worth of lines.
    cargo-embed: handle Up and Down 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 @ithinuel
  • probe-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 to target-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 by CoreDump::dump_core, to make the interaction with the debug 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 to AccessPortType (#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 from probe_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 from Rtt::attach and Rtt::attach_region. (#2595) by @bugadani
  • Upgrade defmt-decoder to v0.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 impls Into<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 into MemoryInterface with a generic type defaulting to probe_rs::Error. (#2705) by @ithinuel
  • Renamed the esp32-3.3v target to esp32 (#2755) by @bugadani
  • Moved RamRegion::is_boot_memory to MemoryAccess::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...
Read more

0.24.0

22 May 22:40
v0.24.0
6fc653a
Compare
Choose a tag to compare

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 and disable_double_buffering options to Embed.toml (#2419) by @bugadani
  • Added SYS_EXIT_EXTENDED and SYS_GET_CMDLINE semihosting operation decoding. (#2241) by @t-moe
  • Update the STM32WB_Series.yaml targets with target-gen arm --filter STM32WBxx_DFP (#2248) by @kquinsland
  • cargo embed and cargo 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 via probe-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 called probe-rs-mi was added to let users easily parse the output of the MI. (#2459) by @Yatekii
  • Add the list_break command to probe-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() to rtt::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)

Changed

  • Rtt::up_channels and Rtt::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.
      • In order to avoid adversely affecting the DAP client performance, we will disallow "trace" level logging when sending logs to the Debug Console. (#2457) by @noppej
  • Reworked the rtt section in Embed.toml. (#2249) by @bugadani
  • If no RUST_LOG environment variable is set, the probe-rs DAP server will now use a default logging configuration of probe_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 to BlockIfFull. (#2326) by @bugadani
  • Only enumerate alternate multi-drop addresses if the Default address failed (#2352) by @ithinuel
  • Renamed --probe-selector to --probe in cargo embed (#2262) by @bugadani
  • DebugProbeInfo::probe_type is no longer public. You can use DebugProbeInfo::is_probe_type to filter.
    You no longer need to supply a lister to DebugProbeInfo::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 and cargo 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 and show_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 an XtensaDebugInterfaceState object that should be saved and reused between interface accesses.
    • probe::Probe::try_get_riscv_interface has been renamed to try_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
    • Fix breakpoint search for binaries using DWARF 4 debug information. (#2324) by @Tiwalun
  • 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 and launch 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
    • Add support for disabling debug power in the debug port when disconnecting. This fixes an issue with the RP2040 where it was stuck in reset, due to the Rescue DP. (#2282) by @Tiwalun
  • The process of finding function DIE's assigned the low_pc and high_pc values based on only the last processed gimli::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 the DW_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...
Read more

0.23.0

25 Feb 11:34
426750d
Compare
Choose a tag to compare

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 and StackFrameInfo (#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

  • Added limited C debugging capabilities (#2171) by @bugadani

  • probe-rs now supports flashing STM32WLE5CCUx MCUs (#2036) by @elpiel

  • Add support for the esp32s2 target (#2002) by @bugadani

  • 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

  • JLink: handle multiple JTAG TAPs (#2025) by @bugadani

  • UnitInfo is now public.
    VariableCache::new_dwarf_cache and VariableCache::create_variable now take an Option<&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 under probe_rs::probe::list (#2027) by @bugadani

  • Moved scan_chain under jtag 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 for rusb/libusb). (#1842) by @Dirbaio

  • Extract ProbeDriver from DebugProbe (#1996) by @bugadani

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

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

04 Jan 00:01
v0.22.0
844f545
Compare
Choose a tag to compare

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

  • Add support for the esp32s3 target (#2003) by @bugadani

  • Auto-detect ESP32 flash size (#1952) by @bugadani

  • 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 target

    Refactor the target definition to allow specifying the default Format
    for a given target. By default all targets default_target is Elf,
    except for the esp32* targets which are now Idf. (#1886) by @MabezDev

  • Added initial xtensa support. (#1928) 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

  • Xtensa: detect flash size (#1976) by @bugadani

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 from threads request to configuration_done request. (#1903) by @Andrew-Collins

  • Renamed JTAGAccess::get_idle_cycles to idle_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 and probe-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 enabled ftdi 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 separte ReadOnlyMemoryInterface 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

  • espusbjtag: capture fewer bits (#1931) by @bugadani

  • 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

    • Improved handling of source file paths in debugger, don't assume paths in the debug information
      are in the same format as the paths of the host OS. (#1857) by @Tiwalun
  • Updated the STM32G4 target yaml to version 1.5.0. This fixes the stm32g4xx_256 flash algorithm. (#1896) by @dlaw

  • Set DbgSwEnable to 1 during memory access (#1841) by @pcc

  • 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
  • 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...
Read more

0.21.1

12 Oct 20:40
c252f97
Compare
Choose a tag to compare

Release Notes

Released 2023-10-12

Added

  • rtthost: Add --version

Changed

  • cli: Simplify RttActiveChannel::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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy