You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on github.com and signed with GitHub’s verified signature.
The key has expired.
New features
STLinkV3 support.
Adding and removing of breakpoints is optimized. The breakpoint manager keep track of requested breakpoints, and only modifies the FPB/BPU immediately before a resume or step. This is useful because gdb likes to remove all breakpoints, then re-add them each time it runs the target.
The pyocd list command gained some arguments to filter the output.
Boards and targets
Added some additional NXP board IDs.
Addressed some issues with Arm Musca-A1 and Musca-B1 support.
Changes
More helpful warning if the generic "cortex_m" target type is selected.
Logging of exception tracebacks can be controlled with the "debug.traceback" user option. Eventually this will default to false.
Removed "soft_bkpt_as_hard" user option. This was from long ago, before pyOCD even supported soft breakpoints, and is no longer useful.
Normalised the use of loggers, so each Python module has its own logger with the name of the module.
The debug probe's firmware version is logged via a debug log message if known.
A better error is reported if a CMSIS-Pack is not a valid zip file.
More helpful error message if an unknown target type is specified.
Fixes
Workaround for .FLM flash algorithms that have a page size larger than the sector size. In particular, this fixes the Keil flash algorithms for STM32L072 and L073.
Fixed user option priorities and value parsing to work as one would expect. This is documented in the configuration documentation.
Fixed built-in STM32L475 flash algorithm.
Fixed some issues in the FlashBuilder class related to filling gaps in pages with no data to program.
Fixed Flash.program_phrase().
Fixed the CortexM.available_breakpoint_count property.
Documentation
Finished converting all Doxygen comments to Doxygen-enabled doc comments.
Added some new exception classes, tied a few outstanding exception classes into the pyOCD exception hierarchy, and made sure the appropriate exceptions are being raised for errors.
New OptionsManager class that handles user options for a session.
Sorted out some issues in the architecture of the DebugContext class.
A Session is now automatically opened when used as a context manager. This can be disabled by setting the auto_open parameter of the constructor to False. Conversely, ConnectHelper.session_with_chosen_probe() no longer opens the session for you (but if used in a with statement, the session will still be opened).
Removed deprecated parameters from ConnectHelper.session_with_chosen_probe().
Session is the sole notifier for target-related notifications.
Added support for notifications on changes to user options. In this case, the OptionsManager is the notifier. For instance, to subscribe: my_session.options.subscribe(my_cb, "auto_unlock").
Removed root_target attribute from Target.
Testing
Added a basic unit test for CMSIS-Pack loading. However, it is currently disabled because it fails when run under Travis-CI.