Mischa schrieb:
> bitte, wenn jemand Zeit hat - das ist mir sehr wichtig - wie kann man
> die .cpp und .c Dateien in .o Dateien kompilieren?
Das ist leider nicht so einfach bzw. so einfach zu beschreiben. Ich
musste selbst rund eine gute Stunde Zeit reinhängen, um das gebacken zu
bekommen.
Also...
Ein Arduino-Projekt besteht aus C Sourcecode (*.c Dateien) und aus C++
Sourcecode (*.cpp Dateien).
Um in AVR Studio beides - C und C++ Sourcen - zu übersetzen, muss man -
zumindest was ich gefunden habe - mit einem externen Makefile arbeiten.
Wenn man nur selbstgeschriebene C-Sourcen übersetzt und die restlichen
Sourcefiles aus dem Arduinopaket für seinen AVR bereits als
Objektdateien *.o hat, kann man die als Library in das Projekt aufnehmen
und mit dem AVR Studio Make-Mechanismus ohne externes Makefile arbeiten.
Das ist anscheinend der Weg im Tutorial oben.
Hier aber der komplette Weg: Übersetzen von Anfang an. In dem
Arduino-Zip ist kein solches Makefile drin, d.h. man muss das selbst
anlegen. Dafür gibt es bei WinAVR ein Tool mfile von Jörg Wunsch.
Im Anhang ist das externe Makefile mit dem ich kompiliert habe.
ACHTUNG #1: Dort ist als MCU ein anderer AVR (atmega168) eingetragen als
deiner (atmega328p).
# MCU name
MCU = atmega168
Mit MCU = atmega328p konnte ich die Source WInterrupts.c nicht
übersetzten. Die Fehlermeldung deutet darauf hin, dass mein WinAVR
(WinAVR-20071221) zu alt ist bzw. veraltete Includedateien für diesen
AVR hat.
ACHTUNG #2: Im Makefile habe ich mich nicht um den Programmer gekümmert,
also wie das fertige Programm auf den MCU übertragen werden soll. Ich
denke die Anpassung auf AVRDUDE wie im Tutorial
http://www.cecs.csulb.edu/~hill/ee347/Blink_AVRStudio/ bekommst du hin.
Das Format des Makefile ist quasi selbsterklärend und es gibt hier in
der Artikelsammlung auch Erläuterungen.
Anders als in dem Tutorial oben, habe ich aus Bequemlichkeit (kein
Gefummel mit Pfaden) die Sourcefiles direkt in das Projektverzeichnis
blink kopiert und auch dort die Objektdateien erzeugen lassen und nicht
in dem Ordner Default (s. Anhang files.gif)
Im AVR Studio kann man sich die Dateien für den leichteren Zugriff in
eine Listenstruktur hinzufügen (s. avrstudio.gif). Das muss man nicht
machen, ist aber bequemer, wenn man Errors, Warnungen in der Source
nachschlagen will.
Dann muss AVR Studio so eingestellt werden, dass ein externes Makefile
(s. oben) benutzt wird. Das macht man unter Menü Projekt ->
Configuration Options (s. einstellung.gif). Sonstige Einstellungen habe
ich keine gemacht.
Wie gesagt, das ist IMHO nicht so einfach aufzusetzen. Vielelicht gibt
es bessere Tutorials in denen diese Schritte besser erklärt sind.