AVR Compiler toolchain for MAC using ATmega8 microcontroller

The following instructions are from early 2007 and are pretty outdated by now. They are still here for reference, but they are not maintained anymore and very likely won’t work with recent versions of MacOS anymore.
After having developed software for the AVR under Windows and Linux the only major plattform missing was MacOS X. Since we recently got a Mini Mac in our home office i decided to build a working development chain for MacOS X as well.
This page will tell you all the Mac specific stuff. It will not cover the basics of AVR programming. Please look e.g. here, here or just ask google.
A simple AVR development chain usually consists of the following parts:

  • A compiler toolchain,
  • a hardware programming interface with
  • matching programming software and
  • a serial interface for debugging with
  • a terminal program.

The compiler toolchain

If you want a powerful, free and portable compiler for the AVR you’ll end up with gcc. Fortunately, gcc is supporting the AVR cpu for quite some time now and e.g. the WinAVR toolchain for AVR development under windows is based on this compiler. Many people have already ported these compilers to MacOS X incl. the fink project and others. Unfortunately i had either trouble getting some parts to install properly (fink didn’t offer to install all the required libs) or the compilers were just outdated versions and a long time ago updated to the latest gcc version. I therefore tried my install_avr_gcc.sh script that i am using to achieve the same under linux. This script has the advantage of being easily updated to use the latest compiler. Furthermore it installs the entire toolchain into /usr/local/avr which keeps the setup seperated and you can easily remove everything for your system without a trace just by deleting the entire tree under /usr/local/avr.
In order to have the script run successfully you’ll need to have some applications installed on your system. First of all this is the XCode development suite. This is necessary since the installation script needs the gcc that comes with XCode to build the mac port of the avr-gcc. Furthermore the wget, bison and flex tools are required to build the toolchain. You can get these three from the fink project as well.
Once you have all this set up, just run install_avr_gcc.sh from the command line. The script will first download all source code required and then start to build everything. You can now take a break as this will take some time.
 
Once the script is done, your new compiler is installed. Type /usr/local/avr/bin/avr-gcc to test-run it.

A demo program

A simple demo application (led-blink.tgz) is available to test your setup. It was meant to be used with a Atmega8 CPU. Just untar the archive and type make blinky.hex to compile it.

The hardware programmer

Most cheap AVR programmers are little more than a cable that directly attaches to a PCs printer port. Unfortunately todays Macs don’t come with the necessary parallel printer port and a standard USB-to-printer-converter cable only works with printers but not with this kind of adapter cables.
 
There are commercial USB solutions for this problem, but these are usually quite expensive. Luckily Thomas Fischl has developed his usbasp, a cheap do it yourself USB programmer that works under windows, linux and under MacOS X.
 
For more detail: AVR Compiler toolchain for MAC using ATmega8 microcontroller


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top