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...
This project fits more for custom made battery casing that can have more space to hide things inside. This switch with few alterations can be used for any other project as well but is designed based on e-bike needs! This project use a clever functionality of....
The circuit described here uses ultrasonic oscillations and operates based on the propagation velocity of these oscillations in the air. Thus, we can easily determine the distance of two points if the time within which the wave travels this distance is....
Sometimes the precious metals are hidden too deep and are not detected except with complicated devices. In many cases, however, small pieces of precious metal buried near the surface can be detected by relatively simple means. Everyone is very attractive to....
Many times for various reasons we forget or can not water the plants that we have in our homes. And many humidity sensors units just notify us with a beeping sound or with a flashing light, that the pot needs watering. But what if we are away from home? This....
The principle behind a metal detector is really very simple. Proof of this is the circuit that follows, in which it proves that the construction of a metal detector can be done in the minute, with few components that we find very easily everywhere. With the....
The sub-harmonic bass generator is a sound producing unit for guitars. The sound it produces looks very much like that of the bass guitar. The octave generator is sometimes quite unusual since it does not produce any of the usual ways of coloring the sound,....
In the past the sounding (sea bottom measurement) was done with the "bullet", that is, with a heavy lead object that the seamen plucked into the sea hung from a calibrated rope. As soon as the "bullet" reached the bottom, the depth appeared directly from the....
This Amplifier was designed to have the following specifications: Distortion less than 0.1% at full power of 100W even at 20KHz. Power has to be attributed to an extended bandwidth. The output transistors must be protected against short circuits. The power....
A series of LEDs serve to alert the gardener when plants need water. Using two conventional digital integrated LEDs and a series of LEDs, we make a very useful device for gardening. The device detects the amount of water in the pot and alerts the grower.....
characters left: