Python based tool and API for debugging, programming, and exploring Arm Cortex microcontrollers.
Debugging with gdb via command line or IDE. Supported by VSCode Cortex-Debug plugin and Eclipse Embedded CDT.
Program firmware and data images into internal or external flash. Of course, images can also be loaded into RAM.
Complete control of the target device with a straightforward API, highly suitable for CI, bespoke test and debug tools, security research, and more.
Semihosting and SWV
Full semihosting implementation with console and file I/O. SWV basic printf output, stream raw SWO data over TCP/IP, build an SWO event processing data flow graph in Python.
Access the full set of Arm Cortex-M devices supported by CMSIS Device Family Packs. Packs can managed by pyOCD and installed by part number, or downloads packs yourself.
Support for more than 70 common Arm Cortex-M devices is built-in.
Community and support
We have a public Slack workspace for live discussion and collaborative support of pyOCD and the other projects under the pyOCD umbrella. This is the place to go to get help, discuss ideas, and share tips with other users. Join with this link.
In addition to other communications channels, we have a Google groups mailing list for organisation announcements and news.