Skip to main content

A cross-platform GDB server for AVR MCUs

Project description

PyAvrOCD

License: MIT PyPI version PyPI Python Version Checked with mypy Pylint badge Pytest badge Coverage badge Release workflow Commits since latest PyPI Downloads Hit Counter

PyAvrOCD is a GDB server for 8-bit AVR MCUs (see list of supported MCUs and supported boards), enabling you to debug programs running on these MCUs using the GNU Project Debugger GDB. PyAvrOCD communicates with Microchip's debug probes, such as the very affordable MPLAB Snap, and it provides a pass-through service for the UNO-based debug probe dw-link and the simulation tool simavr (see list of supported debug probes).

So, why another open-source GDB server for AVR MCUs? The main intention is to provide a cross-platform AVR GDB server. In other words, it is the missing AVR debugging solution for the Arduino IDE 2 and PlatformIO. In particular, the integration with Arduino IDE 2 is pretty tight, allowing one to start debugging without much hassle (see quickstart guides). Additionally, PyAvrOCD excels in minimizing flash wear and protects single-stepping against interrupts.

When you want to install PyAvrOCD, you can install it as part of an Arduino core, so that it can be used in the Arduino IDE 2. Furthermore, you can download binaries, you can install PyAvrOCD using PyPI, or you can, of course, clone or download the GitHub repo.

Read the docs for more information.

What has been done so far, and what to expect in the future

When moving from the earlier version of the GDBserver, called dw-gdbserver, to PyAvrOCD, support for JTAG Mega chips has been added. This was more work than anticipated.

If you would like to give PyAvrOCD a try, you are welcome. The integration into Arduino IDE 2 has been tested, but some cores still have to be extended. Any feedback, be it bug reports, crazy ideas, or praise, is welcome.

UPDI MCUs will follow next. I am unsure about Xmegas.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyavrocd-1.1.2.tar.gz (89.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyavrocd-1.1.2-py3-none-any.whl (224.2 kB view details)

Uploaded Python 3

File details

Details for the file pyavrocd-1.1.2.tar.gz.

File metadata

  • Download URL: pyavrocd-1.1.2.tar.gz
  • Upload date:
  • Size: 89.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyavrocd-1.1.2.tar.gz
Algorithm Hash digest
SHA256 ba58cb111d34ea419e66d09d94c3347530b48be60f2a0c090682eee5273aacad
MD5 83a390e4df49218e9d3bd10ef518a5af
BLAKE2b-256 4c649772f0e04909132e79ad9c14857904cb9ef4d6f52c8277164439902b904a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyavrocd-1.1.2.tar.gz:

Publisher: release.yml on felias-fogg/PyAvrOCD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyavrocd-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: pyavrocd-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 224.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyavrocd-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f940e5847958367668dc8a6429c5d0226ab0b2f4959cb0559488c9ecdab3ad69
MD5 782cef9b8813aff59a3a96fe3426e498
BLAKE2b-256 2114a67f73fd8093bbf549367885fd31973d211fc9988213042e14de5fec7e4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyavrocd-1.1.2-py3-none-any.whl:

Publisher: release.yml on felias-fogg/PyAvrOCD

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page