Weitere Hinweise
Will man unter MacOS X Software für Mikrocontroller entwickeln, steht man häufig vor dem Problem, dass die Entwicklungsumgebungen der meisten Controller ausschließlich unter Windows laufen. Steht der Controller-Typ fest, kann man evtl. mit einer Emulation wie VirtualPC zum Ziel kommen.

Hat man die freie Auswahl, was den Controller-Typ betrifft, kann man sich auf die Typen beschränken, die auch Entwicklungstools für MacOS X bieten.
Berücksichtigt man die Liste der vom GCC unterstützen Controller, muss man nicht in einen kostenpflichtigen Compiler investieren.

All diese Überlegungen führen im Bereich der 8-Bit-Controller zu den beliebten AVR-Controllern von ATMEL, für die es eine Toolchain (Kette von Werkzeugen vom Quelltext bis zum Hex-File bzw. Download-Tool) gibt.

Eine erste zusammenfassende Erläuterung zu diesem Thema fand ich auf den Seiten von Mike Seemann, leider waren die Quellen nicht ganz aktuell.
Mit zunehmender Verbreitung der Mac-Computer interessieren sich auch mehr Entwickler für die AVR-Toolchain, so dass es inzwischen mehrere Projekte mit umfassenden Beschreibungen gibt.
Stellvertretend sollen hier die Seiten von anyma und OSX-AVR genannt werden.
Seit Ende 2007 gibt es von ObjectiveDevelopment das AVR MacPack, welches ab April 2009 unter der neuen Bezeichnung CrossPack-AVR angeboten wird. Dieses Paket setzt dort an, wo OSX-AVR begonnen hat, wird aber parallel zu WinAVR aktuell gehalten.

Es bietet sich an, Xcode als Entwicklungsumgebung zur Projektverwaltung, zum Editieren und zum Aufruf der Toolchain zu verwenden. In meiner Entwicklungstätigkeit habe ich mich an das Arbeiten mit Make-Files gewöhnt, so dass zum Starten der Toolchain nur geringe Anpassungen in den Projekt-Einstellungen notwendig sind.

In seinem Artikel "Embedded Development with Xcode" beschreibt Jim Schimpf einen anderen Weg der Xcode-Integration. Er geht von einem Standard-Tool als Projekt-Typ aus und ändert die Xcode-Regeln zur Behandlung der File-Typen *.c und *.o, indem er die entsprechenden Kommandozeilen des Make-Files einträgt. Dieses Verfahren erfordert an einigen Stellen etwas mehr Handarbeit, funktioniert aber auch.

Greift man auf das OSX-AVR-Projekt zurück, erhält man bereits vorbereitete Templates, die einen sofortigen Einstieg unter Xcode erlauben.

Ohne die Templates sind folgende Schritte zur Erzeugung eines AVR-Projekts erforderlich:

1. Über "New Project..." >> "EmptyProjekt" ein neues leeres Projekt anlegen


Leeres Projekt anlegen


2. Doppelklick auf Projektnamen zur Anzeige der Projekt-Info, im Build-Tab kontrollieren, dass ZeroLink deaktiviert ist


Kontrolle Zero-Link aus


3. Rechtsklick auf "Targets" >> "Add" >> "New Target" >> "External Target" zum Anlegen eines neuen Targets


External Target anlegen


4. Doppelklick auf neu angelegtes Target zur Kontrolle der Build-Settings. Im "Custom Build Command" muss der Pfad zum verwendeten make eingetragen sein.


Make-Aufruf


5. Über Rechtsklick auf den Projektnamen >> "Add" >> "Existing Files..." evtl. schon vorhandene Quellen zum Projekt hinzufügen


Quellen hinzufügen


6. Makefile zum Projekt hinzufügen und evtl. modifizieren.


Makefile



Sind alle Tools korrekt installiert (Compilieren im Terminal klappt schon), sollten jetzt "Clean" und "Build" auch über die Symbole von Xcode funktionieren. Treten bei der Übersetzung Fehler auf, erreicht man in gewohnter Weise durch Klick auf den Fehler die jeweilige Stelle im Quellcode.
Alle Regeln zur Übersetzung werden im Makefile festgelegt, wodurch eine gewisse Portabilität des Projekts erhalten bleibt.
Auf diese Weise ist die Erzeugung eines Hex-Files möglich, was über ein Download-Tool in den Controller geschrieben werden kann.

Als Download-Tool bietet sich AVRDUDE an. Mit der Version avrdude-5.1 und der libusb-1.1.12 konnte ich einen AVRISP MKII ansprechen und damit bisher ATmega128, ATmega16 und ATtiny13 flashen. Zu beachten ist in diesem Zusammenhang die Beschreibung von avrdude zur Übergabe des USB-Ports (Teile der Serien-Nummer des AVRISP MKII).