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.