View all posts

pyOCD 0.44.0 released

Apr 1, 2026
Teo Mahnic

pyOCD v0.44.0 has been released and is available from PyPI. This version includes several improvements and bug fixes. The complete list of changes is provided below

To upgrade pyOCD, just run pip:

pip install --upgrade pyocd

This version introduces support for default debug sequences as defined in the Open-CMSIS-Pack specification, improving consistency and standards alignment. It adds missing debug sequence support for flash programming and holding hardware reset. It also changes the flash programming strategy for programming multiple flash memories to a single erase-program sequence, spanning all targeted memory regions.

The RTT support has also been updated with renamed channel mode server (previously telnet) and improved robustness, flexibility, and transfer speed. Another new feature is the SystemView Server mode for the run subcommand, which allows using SEGGER’s SystemView Recorder via IP (TCP/IP connection).

Thanks again to all the contributors who helped make this release possible! ❤️

v0.44.0 on GitHub
v0.44.0 on PyPI


New Features

  • Debug sequences:
    • Use default debug sequences as defined in the Open-CMSIS-Pack specification
    • Support debug sequences for hardware reset: ResetHardwareAssert and ResetHardwareDeassert
    • Support debug sequences for flash programming: FlashInit, FlashUninit, FlashEraseChip, FlashEraseSector, FlashEraseDone, FlashProgramPage, FlashProgramDone, and DebugCodeMemRemap
  • run subcommand:
    • Add SystemView Server mode to support SEGGER’s SystemView Recorder via IP (TCP/IP connection)

Improvements

  • RTT:
    • Improve robustness and tolerate unexpected target halts
    • More flexible configuration
    • Increase transfer speed
    • Improve log messages
  • SystemView:
    • Improve log messages

Changes

  • Flash programming:
    • Split flash programming into separate erase and program operations
  • RTT Configuration:
    • Rename channel mode telnet to server

Fixes

  • GDB Server:
    • Fix thread information on subsequent client connection
  • Debug sequences:
    • Support inline control flow statements (if, while)
    • Fix predefined debug access variable contents for __protocol and __connection
  • Cortex-M:
    • Restrict PACBTI and PMU extension detection to Armv8.1-M targets
  • CoreSight:
    • Restore CSW value after pre-discovery

Targets

  • Add nRF54LM20A target (@StarSphere-1024)

Full Changelog: https://github.com/pyocd/pyOCD/compare/v0.43.1…v0.44.0