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

Gast #1994156
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
Persönliche Seite
Ich meine in dem angegebenen Tutorial sieht man eine HardwareSerial.cpp

Aus der kannst du eine Datei HardwareSerial.o erzeugen lassen, wenn du 
HardwareSerial.cpp kompilierst.

Du kannst auch HardwareSerial.cpp zu deinen Sourcefiles aufnehmen, statt 
eine vorerzeugte HardwareSerial.o zu den zusätzlichen Libraries 
hinzuzufügen wie im Tutorial
Gast
bitte, wenn jemand Zeit hat - das ist mir sehr wichtig - wie kann man 
die .cpp und .c Dateien in .o Dateien kompilieren?

Vielen Danke nochmal,
Grüsse - Mischa
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
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.