www.mikrocontroller.net

Forum: GCC Startprobleme mit AVR Studio 4


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Schönen guten Tag,

ich habe im Rahmen meines Studiums die Möglichkeit bekommen, das 
Programmieren in C zu erlernen, und möchte diese Gelegenheit auch gerne 
wahrnehmen nur leider hakt es bei mir schon direkt zu Beginn.

Uns wurde ans Herz gelegt mit dem AVR Studio 4 zu arbeiten und ich habe 
dazu jetzt auch ein Handbuch erhalten, mit dessen Hilfe ich mein erstes 
Programm schreiben sollte. War auch alles gut verständlich und habe ich 
so übernommen aber wenn ich es dann durchlaufen lassen will kommen diese 
beiden Fehlermeldungen:

error: Cannot find include file: RP6RobotBaseLib.h
error: syntax error, unexpected FUNCTION

Habe schon alles erdenkliche versucht, wo genau muss ich diese Library 
denn einfügen? Ich habe das Gefühl da ist bei der Installation was 
schiefgelaufen, weil ich dem Handbuch Schritt für Schritt gefolgt bin 
und das laut Plan alles rund laufen sollte.


Hier nochmal mein Ansatz:

#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
writeString("Hallo Welt!\n");
return 0;
}


Vielen vielen Dank schonmal für eure Hilfe!

Autor: B e r n d W. (smiley46)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Und wo ist diese Datei "RP6RobotBaseLib.h"? Sie wird im 
Projektverzeichnis erwartet.

Die Funktionen

initRobotBase();  und  writeString(char *ptr);

müssen dem Compiler bekanntgemacht werden und sollten dann auch in einer 
Library oder in einem zweiten C-file zu finden sein. Es gibt vermutlich 
auch noch eine RP6RobotBaseLib.c

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich habe jetzt die "RP6RobotBaseLib.h" - Datei im entsprechenden 
Verzeichnis gespeichert. Anschließend wurde ich noch nach weiteren 
Dateien gefragt, die ich nun auch allesamt dort eingefügt habe.
Jetzt habe ich allerdings immer noch insgesamt 4 Errors.
Zum einen fehlt mir noch die Datei :" avr/io.h " sowie die Datei 
"avr/interrupt.h" .
Wo finde ich sowas bzw. wie erstelle ich mir die selbstständig?

Und dann noch diese beiden Errors:

RP6RobotBase.h(209): error: PORTA: Unknown instruction or macro

RP6RobotBase.h(209): error: syntax error, unexpected '='

Sehe ich das richtig, dass da irgendwas mit dieser RP6RobotBase.h - 
Datei nicht stimmt?
Habe die einfach unbearbeitet in das Verzeichnis übernommen.

Bin aber auf jeden Fall schon ein Stück weitergekommen vielen Dank!

Autor: al3ko -.- (al3ko)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
DerStudent schrieb:
> Jetzt habe ich allerdings immer noch insgesamt 4 Errors.
> Zum einen fehlt mir noch die Datei :" avr/io.h " sowie die Datei
> "avr/interrupt.h" .
Installiere mal winavr.
http://winavr.sourceforge.net/
http://sourceforge.net/projects/winavr/files/lates...

Gruß

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ist geschehen...war aber irgendwie nicht mit enthalten. Oder wie ist das 
AVR Insight [Win AVR] jetzt zu verwenden?
Dem fehlen immer noch die Dateien " avr/io.h " sowie "avr/interrupt.h"
Kann man nicht diese beiden Dateien nicht auch irgendwie runterladen?
Tut mir Leid, dass sich das jetzt so zieht, aber irgendwie is da der 
Wurm drin.

Autor: al3ko -.- (al3ko)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Was hast du denn zuerst installiert?

AVR Studio oder WinAVR?

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
AVR Studio 4

Autor: al3ko -.- (al3ko)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
DerStudent schrieb:
> AVR Studio 4

Deinstalliere mal bitte sowohl AVR Studio als auch WinAVR. Dann 
installierst du bitte zuerst WinAVR und dann AVR Studio.

Ich meine mal irgendwo gelesen zu haben, dass das die richtige 
Reihenfolge sei.

Ggf. müsste noch ein Pfad bei den Umgebungsvariablen eingefügt werden. 
Aber eines zur Zeit :)

Einfach die IO Dateien hinzufügen halte ich persönlich für unklug und 
bin mir auch nicht sicher, ob das funktionieren wird, lasse mich aber 
gerne eines Besseren belehren.

Fakt ist nämlich, dass du die Dateien bereits auf dem Rechner hast - 
nämlich durch deine Installation von WinAVR.

Autor: B e r n d W. (smiley46)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
So findet der Compiler Dateien im eigenen Verzeichnis:
#include "RP6RobotBaseLib.h"

So die mitgelieferten Standard-Definitionen:
#include <stdio.h>
#include <string.h>

Und so AVR-spezifischen:
#include <avr/io.h>
#include <avr/interrupt.h>

Am leichtesten findet Du das heraus, indem Du mit einem schon 
funktionierenden Projekt "spielst" und die Einstellungen vergleichst.

Was oft vergessen wird, geh auf Eigenschaften (das Zahnrad oben in der 
Menüleiste) und gib da bei Frequency den Prozessortakt in Herz ein. Bei 
Device sollte Dein Prozessortyp angezeigt werden.

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ist geschehen...selbe Problematik. Der vermisst wieder die Dateien " 
avr/io.h " sowie "avr/interrupt.h".
Und warum die anderen beiden Errors?

RP6RobotBase.h(209): error: PORTA: Unknown instruction or macro

RP6RobotBase.h(209): error: syntax error, unexpected '='

Bin ich irgendwie ein Vollpfosten oder ist mein Laptopt verflucht oder 
was ist das??

Autor: Daniel (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hast du das include mit "xx" oder mit <xx>?

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich hatte es mit "xx" und habe es nun auf <xx> geändert.

Resultat:

error: Cannot find include file: RP6RobotBaseLib.h
error: syntax error, unexpected FUNCTION

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Habe RP6RobotBaseLib.h nun in das entsprechende Verzeichnis eingefügt.
Wird immer noch nicht gefunden, selbe Error-Meldung.

Autor: Daniel (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Die Fehler sind nicht in deiner datei, sondern in der robotbase.h datei! 
Da ist die io.h nicht richtig eingebunden!

Autor: DerStudent (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Und was muss ich jetzt machen?

Autor: Oliver S. (oliverso)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
DerStudent schrieb:
> Ich hatte es mit "xx" und habe es nun auf <xx> geändert.
>
> Resultat:
>
> error: Cannot find include file: RP6RobotBaseLib.h
> error: syntax error, unexpected FUNCTION

Nochmal ganz langsam:

headerdateien, die zu deinem Programm gehören, wie "RP6RobotBaseLib.h", 
werden so eingebunden:
#include "RP6RobotBaseLib.h"

Der Compiler erwartet die Datei dann im Hauptverzeichnis des Projektes.
Befindet sich die Datei woanders, gibt es zwei Möglichkeiten:
a) Du gibst den vollständige Pfad an (absolut oder relativ)

b) Du gibst in den Projekt-Settings den Pfad zu dem Verzeichnis an, in 
dem sich die Inklude-Dateien befinden. Das bietet sich immer dann an, 
wenn man Sourcecode-Libs benutzt, wie in deinem Fall auch. Dann muß man 
die header nicht alle in das Projekt-Source-Verzeichnis kopieren.


Systemdateien, die mit dem Compiler mitgeliefert wurden, werden so 
inkludiert:
#include <avr/io.h>

Oliver

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
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.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net