Here I will post my compiled avr-gcc packages/releases. They are available for Windows (x86 and x64) and Linux (x64 only).
Latest release: avr-gcc 10.3.0
Latest legacy release: avr-gcc 8.4.0 (see legacy releases section)
avr-gcc is a set of AVR compilers for C, C++ and Assembly. The problem is that the official avr-gcc was compiled on 2015, so it hasn’t got all the new C++17, C++20 and C18 standards. That’s why I have compiled the compilers again, to have the latest standards and improvements 😉.
WARNING: This is NOT an official version of avr-gcc, so it may contain bugs.
Also, I would like to thank Zak Kemble (www.zakkemble.net) for distributing avr-gcc 10.1.0 and the compilation script.
Tools included in each package and comparison:
|AVR-LibC||Latest (fork, master, October 2020)||SVN with extras (release, July 2019)|
|AVR-libstdc++||Latest (master, January 2021)||None|
|Make||Not included (can be downloaded)*||4.3|
|AVRDUDE||Not included (can be downloaded)*||6.3 (only on Windows packages)|
DOWNLOAD LINKS (yes, I know you want ’em):
* Here you can download extra tools like Make and AVRDUDE that may be useful for avr-gcc:
I also provide legacy versions of avr-gcc, specially designed for production environments. These builds haven’t got the latest features, but are the most stable and the ones that generate best code.
Legacy downloads are available through this link.
You will need 7-zip if you are using windows to extract the files (WinRAR also works). Download 7-zip.
Just extract the file with your OS and architecture. Then the AVR executables are located at the bin folder.
avr-gcc 10.3.0 & 8.4.0 does not work with the Arduino megaAVR boards package. Use Arduino’s build instead
If you want to install it for Arduino:
Most part also provided by Zak:
- Download and extract one of the downloads above (select the mirror you want)
- Navigate to your Arduino IDE folder
- Go to hardware/tools
- Move the avr folder somewhere else, like to your desktop (renaming the folder won’t work, Arduino has some auto-detect thing which sometimes gets confused)
- Move the extracted folder from earlier to the tools folder and rename it to avr
- Copy the builtin_tools_versions.txt file from the old avr folder to the new one
- Download AVRDUDE from the ‘useful tools’ section and extract it to the new avr folder. This includes a very updated AVRDUDE version.
- Done! Open up the Arduino IDE, load up the Blink example, upload it to your Arduino and make sure the LED is blinking!
Here is a modified build script I have created with the tools versions updated.
It’s HIGHLY RECOMMENDED that you compile it using Debian 10 x64, else it may not work. Also, it took me more than three hours to fully compile AVR-GCC. Extra tools (make, AVRDUDE) have been added/compiled later.
Finally, you will need to copy the contents of the avr-libc folder into all the releases of avr-gcc to make it usable.
UPDATE: avr-gcc 10.3.0 contains manually modified files (such as avr-man) to fix some issues. If future releases, the script will also patch them. There is no build script for legacy releases.