suche die "HardwareSerial.o" usw. für arduino uno (atmega328p)

Gast #1994156
Lesenswert?
• ▲
▼
Hi - habe ein Arduino uno und versuche das an AVR Studio anzubinden.
hier ist eine schöne Anleitung: 
"http://www.cecs.csulb.edu/~hill/ee347/Blink_AVRStudio/";

Funktioniert auch bestimmt, nur finde ich in dem Verzeichnis 
"Arduino\arduino-0022\hardware\arduino\cores\arduino" keine ".o" Dateien 
wie HardwareSerial.o - da sind nur *.c, *.cpp und *.h Dateien.
Weiss jemand wie ich an die Object dateien ran komme, damit ich die bei 
AVR Studio includen kann??


Vielen Dank!!!
Grüsse - Mischa
#1994702
Lesenswert?
• ▲
▼
Füg die Dateien einfach zu deinem Projekt mit dazu.

Im Projektbaum, links im AVR-Studio, einfach über "Source Files" die 
rechte Maustaste drücken und "Add existing source Files". Dann zeiugst 
du ihm die *.c Files und fügst sie hinzu. AVR-Studio kümmert sich dann 
darum, dass sie kompiliert werden und zum Programm dazugelinkt werden.
Persönliche Seite #1995521
Lesenswert?
• ▲
▼
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.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.