Skip to main content

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. Additionally, PyAvrOCD excels in minimizing flash wear and protects single-stepping against interrupts.

Interested in giving PyAvrOCD 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.

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

Meanwhile, PyAvrOCD covers all debugWIRE, JTAG (Megas), and UPDI MCUs. I am unsure whether it makes sense to extend its coverage to Xmegas.

I made some leeway into integrating PyAvrOCD more tightly with PlatformIO and with the Arduino Maker Workshop VSCode extension. There are already a few extensions of hardware packages that work with these IDEs.

There is the idea of basing everything on more recent versions of the GCC toolchain because it will probably solve a number of problems on the debugging front. My attempt at using the GCC 15.1 toolchain was abruptly stopped when I discovered that the compiler produces buggy debug information concerning local variables, whereas the old compiler works without a flaw at that point. I guess more research and/or debugging is necessary before this is a viable solution.

Finally, I am committed to fixing some of the more obvious bugs in the AVR part of the GDB debugger.

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.5.5.tar.gz (9.1 MB view details)

Uploaded Source

Built Distribution

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

pyavrocd-1.5.5-py3-none-any.whl (10.2 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyavrocd-1.5.5.tar.gz
Algorithm Hash digest
SHA256 3a587db84f06a431a2f5232faf0610df8c41c2097c8750e6549fdbab5f8a6535
MD5 7429e08e75cda84a49f3766c9bb019dd
BLAKE2b-256 e3e712ee2ac47b2ce21bc1d0de530968c0fc3c9b0622f797700293a2333f39dd

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyavrocd-1.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9b40ac6a2676733b8f1158fb565011b771530b2f555958e4b0768573b16cc625
MD5 713dcba23733f23470ca035d36809443
BLAKE2b-256 0d0e6a6086a7b3efd244220576885f3f439b08497cd6ea234360ba48d073e20b

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

1.5.8

2 files

1.5.7

2 files

1.5.6

2 files

This release

1.5.5 This release

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.1

2 files

0.17.0

2 files

0.16.5

2 files

0.16.4

2 files

0.16.3

2 files

0.16.2

2 files

0.16.0

2 files

0.15.0

2 files

Supported by

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