avrdudes / avarice

AVaRICE is a program for interfacing the Atmel JTAG ICE to GDB to allow users to debug their embedded AVR target.
GNU General Public License v2.0
38 stars 12 forks source link

Build Binaries in CI for Windows, Linux and Mac #95

Closed maxgerhardt closed 1 year ago

maxgerhardt commented 1 year ago

Enables Github Actions (free for public repos) to build AVaRICE for Windows, Linux and Mac. See example run.

For Windows, uses the MSYS2/MSYS system to build it, as I failed to compile it using native MinGW thanks to missing termios.h and libusb issues.

For Linux, builds on Ubuntu.

For Mac, builds on macOS Monterey 12 (source).

Uploads and archives the resulting binaries. Github Actions will always keep the last archives forever, older ones are only kept for 90 days.

Eventually this could be used to do Github releases with source + binaries, which is especially useful for Windows.

Binary runs successfully on Windows with all needed .dll's prepackaged

grafik

maxgerhardt commented 1 year ago

Test on Windows + ATmega328P XPlained Mini (mEDGB debugging probe) is still pending, waiting for hardware.

maxgerhardt commented 1 year ago

I have now received my ATMega328P XPlained Mini (mEDBG CMSIS-DAP) board and have verified that indeed, the Linux and Windows versions have the exact same output! So the hidapi library on Windows via MSYS could find my debugger, without having to do any driver modifications, and speak to it, signing on, et cetera.

grafik

DebugWire debugging is not yet working but that's because of the not-yet burned DWEN fuse.

As thus, I'm taking the liberty to merge this PR and thus CI-enable this repository.

mcuee commented 1 year ago

Comment here for the Windows CI.