View all posts

pyOCD 0.32.1 released

Oct 18, 2021
Chris Reed

I’m happy to announce that pyOCD version 0.32.1 has been released. This is a small bug fix release that primarily is intended to add Python 3.10 support through the release of Python 3.10 wheels. We also released cmsis-pack-manager version 0.4.0 with pre-built wheels for Python 3.10.

One noteworthy change is for J-Link support. Previously, pyOCD would always “connect” the J-Link (versus only opening it) using a default device name of “Cortex-M4”. If the target’s CPU didn’t match, the J-Link driver would log a warning and carry on just fine. The warning was normally invisible to pyOCD users unless debug logging is turned on for the pyocd.probes.jlink_probe.trace logger, so it wasn’t much of an issue.

In fact, connecting is unnecessary for the low-level CoreSight operations that pyOCD uses. The J-Link only needs to be opened and CoreSight configured. So now pyOCD will only connect the J-Link if the jlink.device session option is set to a valid J-Link device name. Currently, the benefit of setting this is minimal since pyOCD has its own target support. In the future, this option may be required to enable J-Link’s fast memory transfers.

In addition the J-Link probe plug-in now supports a jlink.non_interactive session option to place the J-Link driver in non-interactive mode and prevent dialogs from being presented requiring user action. It is enabled by default.

v0.32.1 on GitHub
v0.32.1 on PyPI


Additions

  • Explicit Python 3.10 support and 3.10 wheels.
  • JLinkProbe: added jlink.non_interactive option.

Targets

  • Update flash algo for lpc55s36. (thanks @Hoohaha!)

Fixes

  • Session options: correctly handle session options with float values from the command line.
  • Board: log description of exception during uninit.
  • JLinkProbe: only connect if jlink.device is set.
  • CortexM: fixed missing format args for warnings from post reset checks.
  • Packs: correct which vendor is output for find and show.

Packaging

  • Packaging: dependency version bumps and classifier update. This fixes the issue with a pyyaml version conflict.
  • Packaging: bump cmsis-pack-manager to v0.4.0 release.

CI

  • Workflows: add Python 3.10 to basic test.

Full Changelog