Skip to content

v0.29.0

Compare
Choose a tag to compare
@flit flit released this 18 Jan 20:32
v0.29.0
91b68e4

v0.29.0 on PyPI

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 with swv_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 the DAP_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 the DebugProbe 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 the DebugPort doesn't exist yet (mostly "no-init" mode of Commander), so that pre- and post-reset notifications are sent.
  • DP: Rename DebugPort.init() to connect().
  • 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 to gdb_test_script.py.
  • Moved functional test output files to test/output/ directory.
  • Add ElfReaderContext test to debug_context_test.py.
  • Add commander_test.py.
  • Hex-encode XML-incompatible characters in test result XML.
  • Fixed semihosting unit test issues.