View all posts

pyOCD 0.32.3 released

Dec 30, 2021
Chris Reed

PyOCD version 0.32.3 has just been released and is available from PyPI. This is a bug fix release with a number of fixes, a few more noticeable and some quite small.

The two most important fixes are for J-Link and STLink probes. SWO was completely broken for J-Link probes. Combined with another included fix, SWO/SWV should be in a much better operating state. For STLink, one of the lesser common USB product IDs, 0x3752, an STLinkV2 “No MSD” variant, had a typo and therefore probes with that firmware variant would be ignored by pyOCD.

Another notable fix is the correction of a recent regression in the optimized flash programming, aka “smart flash”, feature. This feature scans and compares flash pages on the target with those to be programmed so it can skip erasing and programming unchanged pages. The regression caused all pages to be considered changed, thus removing any potential improvement.

v0.32.3 on GitHub
v0.32.3 on PyPI


  • J-Link: Fix SWO that was completely broken due to an invalid attribute name.
  • STLink: Fix typo in USB PID map that caused probes with PID 0x3752 to be ignored.
  • NXP i.MX RT family: Fix log exception if the vector table can’t be determined.
  • SWO: Fix invalid reference to collections.Iterable.
  • Flash: Fix flash unmodified page detection regression, causing optimized flash programming to not work.
  • Commander: Correct alignment of ASCII column in a hex dump with ragged end.
  • CoreSight: Fix printing of negative addresses ROM table in certain cases.
  • CoreSight: Power down DP only if resuming on disconnect.
  • gdbserver: Return T response containing no register values if reading registers fails, perhaps if the core failed to halt.
  • Package metadata: Correct URLs and classifiers.

Full Changelog: v0.32.2…v0.32.3