- Pre-release featuring early access to improved Component Viewer and
Core Peripherals views, plus an updated arm-none-eabi-gdb distribution (arm-none-eabi-gdb v15.2.1, see Release Notes).
- Feedback is welcome: use GitHub issues to request enhancements or report defects.
- The extension now preserves the state of its views across debug sessions and IDE restarts (such as whether periodic updates are enabled). Non-default values are stored under
vscode-cmsis-debugger.viewStatein the workspace settings (.vscode/settings.json). - Enhances the Live Watch window with editable expression values and automatic highlighting when values change.
- Also included in this extension release:
- Minimum versions required for CMSIS Debugger v1.7.0 pre-release functionality:
- See v1.6.1...v1.7.0 for the complete list of changes included in this pre-release.
- Includes updated pyOCD distribution (pyOCD v0.44.1)
- The extension now has a pre-release channel for early access to upcoming features.
As part of this, the versioning scheme has changed: stable releases use even minor versions (starting with 1.6.0), while odd minor versions are reserved for pre-releases. - Adds the Core Peripherals view which gives insight into the programming of CPU specific core peripherals.
- Adds commands to enable/disable CPU Time updates.
- Fixes Component Viewer display and stability issues.
- Includes updated pyOCD distribution (pyOCD v0.44.0)
- Uses default debug sequences as defined in the Open-CMSIS-Pack specification.
- Adds missing sequence support for flash programming and holding hardware reset.
- Changes strategy of programming multiple flash memories from multiple erase-program-verify sequences per flash memory to a single erase-program-verify sequence spanning all targeted flash memories.
- Renames RTT channel mode
telnettoserver. - Adds Segger SystemView server mode to support direct recording
from pyOCD via IP (TCP/IP connection) for
runsubcommand. - Improves robustness and logging of Segger RTT support.
- Also included in this extension release:
- Full list of required minimum versions for correct functionality of the CMSIS Debugger v1.6.0 release:
- See CMSIS Debugger 1.6.0 project board for a full list of enhancement requests and defects addressed in this release.
- Fixes debugger run control intermittently becoming unresponsive when Component Viewer is active.
- Includes updated pyOCD distribution (pyOCD v0.43.1)
- Fixes Segger RTT control block detection for single-core devices.
- Adds the Component Viewer which shows detailed information to help analyze the operation of software components based on CMSIS-View descriptions.
- Includes updated pyOCD distribution (pyOCD v0.43.0)
- Adds Segger RTT and System View support for
runsubcommand to store event information to a file for post-processing and visualization. Configured via*.cbuild-run.yml.
- Adds Segger RTT and System View support for
- Also included in this extension release:
- Full list of required minimum versions for correct functionality of the CMSIS Debugger v1.4.0 solution:
- See CMSIS Debugger 1.4.0 project board for a full list of enhancement requests and defects addressed in this release.
- Enhanced pyOCD and J-Link GDB Server debug configurations for multi-core debug, semihosting serial I/O via Telnet, and more.
- Includes updated pyOCD distribution (pyOCD v0.42.0)
- Adds
runsubcommand capable of running targets until a time limit or EOT (suited for CI/CD workflows), and of semihosting console output/input and SWV output. - Adds support for Cortex-M52 and Star-MC3 based devices (@Liu-Gu).
- Improves CMSIS-Toolbox Run and Debug Management support:
- Port assignment logic for multi-core GDB server and telnet configurations.
- STDIO routing for
console,telnet,fileandoff. (Currently only supports STDIO output) connectmode configuration.pre-resetandpost-resettype for load configurations.- Reworked priority of
*.cbuild-run.ymlsettings to allow for example command line switches to override them. - Check for required files and request pack installation for missing ones. Also improves related error messages.
- Improves Zephyr thread state definitions to match modern versions (@mathieuchopstm).
- Relaxes flash algorithm requirement to only have RO sections.
- Fixes support for some HID-based CMSIS-DAP debug adapters.
- Fixes path normalization inside CMSIS-Pack archives to support
..in file paths (@xoriath).
- Adds
- Also included in this extension release:
- Full list of required minimum versions for correct functionality of the CMSIS Debugger v1.3.0 solution:
- Refer to the CMSIS Debugger 1.3.0 project board for a full list of enhancement requests and defects addressed in this release.
- Introduces the ability to access memory and calculate expression results while the target system is running.
This enables periodic refreshes of the CPU execution time, the Memory Inspector, and the Peripheral Inspector.- Supported for both pyOCD and J-Link GDB Server.
- Correct functionality requires the following minimum versions
- Arm CMSIS Solution extension v1.62.0
- CDT GDB Adapter extension v2.4.1
- pyOCD v0.41.0 which is included in this extension
- The feature is enabled by the
auxiliaryGdbsetting of thegdbtargetdebug adapter type which is automatically added to launch configurations managed by the CMSIS Solution extension.
- Adds Trace and Live View to host new views that allow updates while the target system is running.
- Adds the Live Watch which allows to watch results of expressions while the target is running.
- Use with the mcu-debug RTOS Views extension v0.0.12 which comes with views for a wide range of real-time operating systems, such as FreeRTOS, Zephyr, embOS, and Keil RTX5. This complements the RTOS awareness in the Call Stack window. Separate extension installation required.
- Includes updated pyOCD distribution (v0.41.0)
- Adds support for STLINK-V3PWR debug probe.
- Allows multiple GDB connections to same TCP/IP port (#160).
- Fixes #598: RTOS support for Zephyr not working for GDB server.
- Fixes #386: "Erase device" command fails on ST multi-core devices.
- Fixes #520: Alif E7 HE core doesn't start after programming.
- Performs a hardware reset (nSRST) after flashing to ensure a clean post-load state.
- Removes implicit resets between loading multiple application files.
- Sets Reset Catch on all cores when performing primary-core reset before flashing.
- Refines debug sequence error handling and breakpoint management across resets.
- Updates ResetType API for clearer reset type selection (for example when using
monitor resetcommand) - Adds missing secure/non-secure core registers (
CONTROL,FAULTMASK,BASEPRI, andPRIMASK).
- Also included in this extension release:
- Implements #443: Show CPU execution time (from connection start and between breakpoints).
- Fixes #159: Documentation updates - GDB sets off assertion when debugging with NUCLEO-F746ZG.
- Fixes #374: Documentation updates - Disassembly view interleaved with source code.
- Fixes #439: Peripheral Inspector receives wrong SVD file path for secondary core of a multi-core connection.
- Updates included pyOCD distribution to v0.39.0
- Set debugger protocol based on information from
*.cbuild-run.ymlfile. - Fixes #370:
- Improve error messages for JTAG/SWD protocol errors.
- Improve handling of attaching probe while pyOCD is waiting.
- Fixes #435: Increase number of transfer retries after WAIT response.
- Fixes #461: Unable to use GD-Link programmer in version 1.0.0. Fixes support for USB HID based probes without serial number.
- Fixes #472: Stop pyOCD if
*.cbuild-run.ymlfile is missing. - Fixes #473: Show warning when packs required by
*.cbuild-run.ymlfile are missing. - Fixes #504: pyOCD should extract file type from
*.cbuild-run.ymldescriptions. - Fixes semihosting support: Fix read when no data is available.
- Set debugger protocol based on information from
- Removes
Previewstatus from extension. - Fixes #407: Warning pops up when using an absolute path in the launch config.
- Fixes #428:
PERIPHERALSview not shown when attaching to a running debug session. - Implements #357: Create extension variant for Windows on Arm (WoA).
- Updates included pyOCD distribution to v0.38.0
- Implements #313: Add CoreSight AP specific CSW handling for AHB-AP, AXI-AP, APB-AP.
- Cortex-M: configure AP for cacheable access when cache is present.
- Add support for SW breakpoints when cache is present.
- Add more debug logging information for cbuild-run targets.
- Fixes #108: Flash algorithms - Relax memory layout rules and add RAM alignment and minimum stack size checking.
- Fixes #382: CMSIS-DAP probe: fix macOS HID read/write.
- Fixes #387: cbuild-run: use cbuild-run.yml parent folder as working directory for relative paths.
- Fixes: Flash region builder - remove flash algorithm page size adjustment.
- IMPORTANT: This release updates the license for the CMSIS Debugger extension from
Apache License 2.0toApache License 2.0 and GNU General Public License v3.0 or later. - Adds
arm-none-eabi-gdbv14.3.1 to CMSIS Debugger extension pack. This removes the need to install theGCC compiler for ARM CPUsfor a workspace using theArm Tools Environment Managerextension. - Updates outdated documentation links in Change Log.
- Removes pseudo debugger types
cmsis-debug-pyocdandcmsis-debug-jlink. CMSIS debug launch configurations and tasks are managed by Arm CMSIS Solution extension since v1.54.0.
If you need to manually set up agdbtargetconnection, then refer to CDT GDB Adapter extension. - Updates documentation.
- Updates included pyOCD distribution to v0.37.0.
- Fixed image links in README.
- Switches away from
pre-releasedistribution channel. Extension remains atpreviewstatus. - Includes Microsoft®
Serial Monitorin extension pack. - Updates README with usage documentation.
- Updates included pyOCD distribution
- Improves robustness of debug sequence execution.
- Updates behavior when
cbuild-runtarget clashes with an internally registered target, to overwrite. - Sets debugger clock based on the
debuggernode in*.cbuilld-run.ymlfile.
- Important: This release requires
CMSIS-Toolbox v2.9.0
to function correctly. Update your workspace's
vcpkg-configuration.jsonfile accordingly. - Updates documentation.
- Implements #238: Support
*.cbuild-run.ymlfile changes in CMSIS-Toolbox v2.9.0. - Updates included pyOCD distribution
- Fixes #153: PATH variable in terminal sometimes loses modifications from other extensions.
- Fixes #155: Go-to-main in
initCommandsof thelaunch.jsonleaves behind the breakpoint. - Partially implements #96: Enable Peripheral
Inspector.
- Extracts first SVD file path found in
*.cbuild-run.ymldebug configuration file to automatically set up Peripheral Inspector.
- Extracts first SVD file path found in
- Adds initial version of extension documentation.
- Updates included pyOCD distribution
- Fixes #133: Adds default memory map for Cortex-M devices.
- Improves memory map creation and flash algorithms sorting.
- Selects current processor core (for example used for flash programming) based on active gdb server connection.
- Updates included pyOCD distribution
- Fixes #92:
monitor reset haltcommand fails for LPCXpresso55S69 if using CMSIS-Pack support in pyOCD. - Fixes #93: Download to LPC55S69 flash with GDB and pyOCD ends in errors.
- Fixes #94: Cannot connect to NXP FRDM-K32L3A6 with pyOCD.
- Fixes support for
<memory>elements from CMSIS PDSC files. - Fixes progress bar output during program download.
- Fixes handling of
__apvariable in debug sequences. - Improves connection robustness and DP sticky error bits handling for temporary target communication losses and
__errorcontrolusage (CMSIS debug descriptions). For example in reset scenarios. - Updates CMSIS-DAP probe detection (filters out Cypress KitProg3 bridge).
- Extends and improves support for
*.cbuild-run.ymldebug configuration files.
- Fixes #92:
- Fixes #84: Cannot use cbuild-run files with pyOCD without CMSIS_PACK_ROOT environment variable.
- Implements #83: Make built-in pyOCD available
in VS Code terminals.
- Note that there is a known issue with a pyOCD installation in Python virtual environments taking precedence over the built-in pyOCD variant.
- Updates included pyOCD distribution
- Fixes #91: "Zephyr kernel detected" warning in shipped pyOCD.
- Fixes #100: [macOS] - Cannot connect with
pyOCD and ULINKplus. Fixes missing
libusbfor macOS. - Fixes #126: Flash programming fails on devices where the flash memory's erased value is 0x00. Initializes XPSR register before executing flash algorithm function.
- Fixes #127: CoreSight root component discovery fails. Fixes how to address APv2.
- Fixes #128: Programming fails on LPC55S69
when device is erased. Debugger no longer reads back programmed flash memory if
Verifyfunction is provided by flash algorithm. - Fixes #131: AP access failure due to invalid security flags (SPROT).
- Extends support for
*.cbuild-run.ymldebug configuration files.
- Removes Arm Tools Environment Manager from extension pack. Instead, README lists it as one of the recommended extensions to use with the Arm CMSIS Debugger.
- Fixes use of
${workspace}to${workspaceFolder}in default debug configurations. - Reduces and aligns default
initCommandslists for pseudo debugger typescmsis-debug-pyocdandcmsis-debug-jlink. - Implements #69: Bring Debug Console to front during connection.
- Initial release of extension pack on GitHub.
- Adds pseudo debugger types
cmsis-debug-pyocdandcmsis-debug-jlink. - Adds debug configuration providers for debugger type
gdbtargetto resolve settings for pyOCD and Segger J-Link GDB server connections. - Contributes setting
cmsis.cbuildRunFileto all debugger types (*debugger type).