Skip to content

Releases: probe-rs/probe-rs

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

v0.21.0

05 Oct 17:52
v0.21.0
6f09089
Compare
Choose a tag to compare

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 the target-gen test subcommand. (#1708)
  • cli: Add --verify flag to download, flash and run (#1727)
  • cli: Add read and write 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, change get_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 interrupt probe-rs run during RTT scan (#1705).
  • cli: Ignore errors from enable_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 algorithm RAMstart field to calculate load_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: Output defmt logs as colored (#xxxx)

Fixed

  • Handle non-secure RESET peripheral in nRF5340 debug_core_unlock sequence.

Removed

  • cli: dump subcommand, replaced by read.

0.20.0

11 Aug 12:28
1c18352
Compare
Choose a tag to compare

Release Notes

Released 2023-07-19

Added

  • dap-server: In addition to Elf format, this adds support for binary formats Bin, Hex, and Idf (#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 on HardFault (#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 using memory 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 the test 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 : Consider RegisterValue 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

29 Jun 18:00
02d76ba
Compare
Choose a tag to compare

Release Notes

Released 2023-06-27

Changed

  • Merged probe-rs-cli, probe-rs-debugger, cargo-embed, cargo-flash binaries into the probe-rs crate.
    • probe-rs-cli is now available in probe-rs.
    • probe-rs-debugger is now available as probe-rs dap-server.
    • cargo-embed and cargo-flash functionality is unchanged, but they are now small shim binaries that invoke probe-rs.
    • Running cargo install probe-rs installs the probe-rs, cargo-embed and cargo-flash binaries.
  • Merged the gdb-server crate into probe-rs. It's now available under probe_rs::gdb_server, and requires enabling the gdb-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 with eprintln (#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 specified Source, and not for all Source'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

31 Mar 15:07
227a202
Compare
Choose a tag to compare

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 and terminate 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.
  • debug: Enable debug experimental support for binaries compiled from C files (GNU C99/11/17). (#1558)

  • Added support for monitor reset and monitor reset halt commands in gdb-server (#1565)

cargo-embed

Changed

  • Update description of Fedora prequisites in README.md