Skip to main content

A cross-platform GDB server for AVR MCUs

Reason this release was yanked:

Miscorrection of default value for UPDI communication speed

Project description

PyAvrOCD

License: MIT PyPI version PyPI Downloads PyPI Python Version Static Badge Pylint badge Pytest badge Coverage badge Release workflow Commits since latest GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub Downloads (all assets, all releases) 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.

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

PyAvrOCD v1.0.0 has been released. Interested in giving it a try? You are welcome to install it. Want to learn more about it? Read the docs. Any feedback, be it bug reports, crazy ideas, or praise, is welcome.

Meanwhile, PyAvrOCD has been extended to cover also the megaAVR 0-series, i.e., the UPDI MCUs ATmegaX08 and ATmegaX09. Work is underway to handle the remaining UPDI MCUs. I am unsure about Xmegas. One main point missing is an Arduino core for the MegaXU4 chips, similar to MCUdude's MiniCore.

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.2.2.tar.gz (95.6 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.2.2-py3-none-any.whl (237.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyavrocd-1.2.2.tar.gz
Algorithm Hash digest
SHA256 4c75bcbde3a58b4c756061354d0bb396c0c1748fdb0b05bc5be990efe7a6e522
MD5 70b76a10bcf0a5e197fee76575a4e702
BLAKE2b-256 fa9c88aa183186407dc87cfd950d2d705c87a6cb7ac2a5b8a8a84df74ba60688

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyavrocd-1.2.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.2.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pyavrocd-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3a140a34d82215470c77e98d24d0854eacc4ef88828bf1bdb4537e92e4c9e44
MD5 1a8b58b0395cf7ba7e6b8e69bb9f7b66
BLAKE2b-256 cd54c7f06606d31a0f8cda23c2bde5e6d6abdb4a63f4e3a48a5acbcc6c1f987c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyavrocd-1.2.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