v0.29.0
As a reminder, support for Python 2 is deprecated and planned to be dropped from an upcoming release. If this is a problem for you moving forward, please raise your concerns in the Dropping Python 2 support discussion.
Additions
- SWO: When enabled with the new
swv_raw_enabled
option, the raw SWO data is served over TCP port 3443 by default. The port is changeable withswv_raw_port
option. (Thanks @patrislav1) - CoreSight: Many ID table additions and renames, including adding A-profile IDs so meaningful information will be printed when connecting to an A+M multicore device.
- Probe server: Added
--allow-remote
argument to enable remote access to the probe server, as it now defaults to serve local-only, like the other TCP servers. - Commander:
reset
command accepts optional reset type. - Commander:
show aps
command to list DAP Access Ports. - Architectural DAP reconnection support.
DebugPort.connect()
can be called multiple times and it will do the right thing. - MEM-AP: Support for 64-256 bit transfers when the AP has the Large Data extension. Mostly only applies to A-profile and special devices.
- API: Added 64-bit memory transfers support to the memory interface API.
- Add a Code of Conduct, adapted from the Contributor Covenant.
Boards and targets
- Add Arm Musca-S1 target and board. (Thanks @mathias-arm)
- Add WIZwiki_W7500P board ID. (Thanks @ArthurRichard)
- Add NXP i.MX RT1170 target and board. (Thanks @jhqian)
- Fix NXP i.MX RT1015 memory map issue. (Thanks @Kris-b50122)
- Updated NXP LPC5500 series with rev 1B debug unlock sequence. (Thanks @ttt-t3r)
- Add family regex for NXP LPC5500 series, so the unlock logic will be applied to LPC5500 CMSIS-Packs.
- Correct NXP LPC5500 series flash erase sector size. Even though the device supports 512-byte erase sectors, the flash algo will always erase 32 kB at a time.
- For the NXP Kinetis family, ensure AP#0 is a MEM-AP before attempting to use it to test device connectivity. (Thanks @Hoohaha)
- Add STMicro NUCLEO-L432KC board. (Thanks @trunet)
- Correct STMicro STM32F429xG flash size. (Thanks @LONGZR007)
- Correct STMicro STM32F412xE flash size. (Thanks @newbrain)
Changes and fixes
- CMSIS-DAP: Flush command queue before sending SWO commands.
- CMSIS-DAP: Improved
swo_read()
so it only locks and flushes when using theDAP_SWO_Data
command instead of a dedicated SWO EP (which is supported by CMSIS-DAPv2). - MEM-AP: Restructured
MEM_AP.init()
to use a single read and restore of the CSW register. - CMSIS-DAP: Truncate unused bytes of a command buffer, so CMSIS-DAPv2 bulk packets only contain the command and no padding and prevent sending zero length packets to signal the end of a transfer. (Thanks @kkitayam)
- Commander: Fixed selected core for gdbserver monitor commands to match the core associated with the gdbserver, and not have multiple gdbservers interfere with one another if the selected core is changed.
- Commander: Fixed "no-init" mode.
- Commander: Fix the
probeserver
command by wrapping theDebugProbe
instance in the shared probe proxy. - Commander: Fix
wreg
on peripheral registers. - Always use the
DebugPort
object to perform resets, except for certain cases when theDebugPort
doesn't exist yet (mostly "no-init" mode of Commander), so that pre- and post-reset notifications are sent. - DP: Rename
DebugPort.init()
toconnect()
. - AP: Property and method for detecting whether the AP is enabled.
- CoreSight discovery: Gracefully report failures to create CoreSight components.
- CoreSight discovery: Add
adi.v5.max_invalid_ap_count
session option. - CoreSight discovery: fix a problematic error log message.
- FreeRTOS: Fix r12 offset for FPU-enabled normal frame.
- Numerous small fixes and code improvements to resolve issues identified by LGTM.
- Add
scripts/generate_flash_algo.py
tool, copied from the FlashAlgo project and simplified.
Documentation
- Some improvements to main readme.
- Terminology additions.
- Improve
adding_new_targets.md
.
Test
- Renamed
gdb_script.py
togdb_test_script.py
. - Moved functional test output files to
test/output/
directory. - Add
ElfReaderContext
test todebug_context_test.py
. - Add
commander_test.py
. - Hex-encode XML-incompatible characters in test result XML.
- Fixed semihosting unit test issues.