v0.32.0
Additions
- Firmware images and data will be loaded to RAM regions in addition to existing flash programming, using the same programming methods as before.
- The new
load
subcommand is an alias offlash
, and is now the default name for that subcommand. - The
load
(andflash
) subcommand will program multiple files passed on the command line. Binary files can have a@<address>
suffix added to the file name to supply the base address at which they should be programmed. - Flash operations now have individual timeouts controllable with session options.
- Reset: If performing a reset of any type causes the connection to the target's debug interface to be lost, pyocd will automatically reconnect.
- Reset subcommand:
--core
and--halt
arguments. - Cortex-M: when using the default
cortex_m
target type, the Cortex-M architectural memory map is supplied instead of having an empty memory map. - Config: Dashes are converted to underscores in the target type name, thus
cortex-m
is now equivalent tocortex_m
. - CMSIS-DAP: support for reading the debug probe firmware version with CMSIS-DAP v2.1. The firmware version is output at the debug log level.
- STLink-V3: add new USB product IDs.
- CoreSight: the product name is logged when listing CoreSight components during discovery.
- gdbserver: add 'init' monitor command, which is ignored and exists solely for OpenOCD compatibility to prevent a warning.
- Config: The effective target type is saved back into into session options. This mostly affects on-board debug probes that know their target.
- Packaging: transitioned to PEP517 style packaging.
- Flash: programming progress bar widened.
Targets
- STM32L475: fix address of
DBGMCU.APB1FZR2
andDBGMCU.APB2FZR
registers. - Musca-B1, Musca-S1: enable SYSRESETREQ from both cores.
Fixes
- Resolve an issue where running pyocd in the background from the shell, i.e. by the
&
operator, would cause a hang. - CMSIS Packs: use RAM addresses specified in algorithm elements. This fixes a programming on a few devices, including the Nordic nRF5340.
- Commander: fix printing of D core register values.
- Commander: fix Python expression output formatting for int and str values.
- CMSIS Packs: make flash region names unique when splitting by sector size.
load
subcommand: tildes in file name paths are resolved.- Subcommands: fix and improve command line argument usage text.
- Memory map: names of memory regions are made unique if necessary.
- Cortex-M: add a few checks to hopefully prevent an exception seen once when listing IRQ names.
- Flash: correct arguments passed to flash exceptions.
- CoreSight: only identify unknown APs as MEM-APs if the designer is Arm. This prevents some proprietary APs as being incorrectly reported as a MEM-AP.
- CMSIS-DAP: send only concrete SWD/JTAG port for connect, so that the "default" port type is never requested. This fixes connect for some versions of Microchip EDBG.
Documentation
- Correct remote probe access documentation regarding remote access to the server and the
--allow-remote
argument.
Python API
MemoryMap
now adheres to the Sequence ABC.MemoryRegion.clone_with_changes()
added.DebugPort.disconnect()
added.FlashLoader
class renamed toMemoryLoader
to reflect RAM loading support. The old name is still available as an alias, but is deprecated.Timeout
class addsstart()
andclear()
methods.
Thanks to all contributors, supporters, and users! ❤️