Forum: Mikrocontroller und Digitale Elektronik FreeRTOS mit Eclipse Fehler


von Florian S. (sirius7)


Angehängte Dateien:

Lesenswert?

Hallo,

mach schon seit ganzer Woche an Eclipse rum, um sie für FreeRTOS zu 
optimieren, jedoch will da gar nichts klappen und ich bin schon fast am 
aufgeben. Ihr seid meine letzte Hoffnung und wenns nicht klappt, dann 
macht es keinen Sinn mehr..

also das Problem ist, ich habe Eclipse, MinGW Compiler, FreeRTOS.org und 
alles nötige installiert, die includes werden auch in Projektordner 
angezeigt, aber in c-Datei werden sie nocht gefunden und entweder rot 
unterstriechen, wie "freeRTOS.h" oder einfach übersehen, wie stdout und 
stdlib.. ich habe überall wo es nur möglich war includes und folgendes 
angegeben, aber je mehr ich eingebe, desto mehr rot sehe ich unten..

würde es vlt Sinn machen den Win10 komplett zu deinstallieren und Win 7 
zurück zu installieren? Weiß wirklich nicht wie ich das Problem angehen 
kann, hab kein Nerv mehr dafür :(((((((

vielleicht kann mir da jemand helfen? wäre sehr nett

von Florian S. (sirius7)


Angehängte Dateien:

Lesenswert?

hier noch mal die Error-Leiste

von Eclipse (Gast)


Lesenswert?

>würde es vlt Sinn machen den Win10 komplett zu deinstallieren und Win 7
>zurück zu installieren? Weiß wirklich nicht wie ich das Problem angehen
>kann, hab kein Nerv mehr dafür :(((((((

ja, klar, auf jeden Fall.

von Florian S. (sirius7)


Lesenswert?

danke für die Antwort, sehe ich auch als einzige Lösung. Dann mache ich 
das eben..

von Programmierer (Gast)


Lesenswert?

Ignoriere die "Problems" Liste und die roten Marker im Code. Da steht 
nur Unsinn drin den sich Eclipse ausdenkt. Kompiliere das Projekt und 
schau dir die Compiler-Ausgabe im "Console" Tab an.

von Jojo S. (Gast)


Lesenswert?

Die Pfade für die includes und libs müssen in die Projekteinstellungen 
eingetragen werden.

von Bernd K. (prof7bit)


Lesenswert?

Zwei Möglichkeiten:

VARIANTE 1
==========
Wenn es ein Makefile-Projekt ist dann aktiviere einfach in Eclipse den 
Build-Output-Parser (und sieh zu dass er richtig eingestellt ist), dann 
konfiguriert sich Eclipse wie von Zauberhand die Includepfade und 
Symbole vollautomatisch selbst. Das ist grundsätzlich die einfachste 
Variante. Brauchst dann halt ein Makefile für Dein Projekt aber das ist 
sowieso langfristig der stressfreiere Weg und daher empfehlenswert.

Du kannst in Eclipse jedes x-beliebige Projekt in 5 Minuten an den Start 
bekommen, ganz ohne rote Wellenlinien, vorausgesetzt Du kannst es mit 
einem dazugehörigen Makefile bauen:
1
- Menü: Project -> Properties -> "C/C++ General" -> "Preprocessor Include Paths, Macros, etc"
2
- Reiter: "Providers"
3
- [X] "CDT GCC Build Output Parser" (Haken setzen)
4
- Compiler Command Pattern: Entferne die unpassende RegExp und ersetze sie durch das:
5
    arm-none-eabi-gcc
6
- Container:
7
  (*) Project
8
- [X] Use Heuristics

Fertig. Jetzt einmal Clean und einmal Build und alle roten Wellenlinien 
und Fehler verschwinden, Eclipse konfiguriert sich selbst anhand des 
Makefiles.


VARIANTE 2
==========
Der steinige Weg. Wenn Du lieber den internen Builder von Eclipse 
verwenden willst dann musst Du die ganzen Include-Pfade und Symbole in 
den Projekteinstellungen manuell konfiguruieren:
1
- Menü: Project -> Properties -> "C/C++ General" -> "Paths and Symbols"
2
- Reiter: Includes
3
- Rechte Seite: "Add..."
4
  * Button: "Workspace..." -> Ordner mit *.h Dateien auswählen
5
  * [X] Add to all configurations
6
  * [X] Add to all languages
7
  * [X] Is a workspace path
8
  * "OK"
9
  * (Das wiederholst Du für alle fehlenden Includepfade)

Das folgende für alle Symbole die definiert sein müssen:
1
- Menü: Project -> Properties -> "C/C++ General" -> "Paths and Symbols"
2
- Reiter: Symbols
3
    Ähnlich wie oben, hier nun alle Symbole die per -Dxxxx 
4
    an den Compiler gegeben werden müssen, hierzu siehst Du 
5
    Dir mal den Output an den es gibt wenn man das Projekt 
6
    mit der Umgebung baut aus der Du es ursprünglich 
7
    herausoperiert hast, achte auf alle -D Optionen beim
8
    den Compileraufrufen, trage die dort ein ohne das "-D"

Danach rechte Maus aufs Project -> Index -> Rebuild

Alle roten Wellenlinien und Fehler sollten jetzt verschwinden.

von Florian S. (sirius7)


Angehängte Dateien:

Lesenswert?

Hallo Bernd,
vielen Dank! Das hat mir fast geholfen, die includes wurden erkannt 
allerdings meckert das Programm wegen #error "invalid portBYTE_ALIGNMENT 
definition".. das ist ganz seltsam, weil ich nichts an includes getan 
habe und alle Definitionen müssen dort vorhanden sein..

von Bernd K. (prof7bit)


Lesenswert?

Schau doch mal nach ob die FreeRTOS.h noch irgendwelche defines benötigt 
(die oben erwähnten -Dxxxx Optionen), evtl mal bei den mitgelieferten 
Demo-Projekten schauen was da alles dazugehört und wie man es 
kompiliert.

Andererseits: Da wirds doch mit Sicherheit irgendwelche funktionierenden 
Hello-World Beispielprojekte mit funktionierendem Makefile geben. Wenns 
ein funktionierendes Build-Script (Makefile, whatever) gibt dann nimm 
einfach DAS anstatt zu versuchen das komplett neu zu erfinden.

von casud (Gast)


Lesenswert?

Vielleicht solltest du erstmal ordentlich C lernen (dazu gehört auch das 
Verstehen von Fehlermeldungen), bevor du dich an Dinge wie FreeRTOS 
wagst.

von Florian S. (sirius7)


Lesenswert?

Hallo Bernd alles klar, ich versuche das. vielen Dank noch mal!

von Florian S. (sirius7)


Angehängte Dateien:

Lesenswert?

Hallo, hab im Internet ein fertiges Projekt gefunden, habe für alle 
includes die Pfade unter Path uns Symbols angegeben, aber jetzt meckert 
das Programm wegen dem bestehenden Code.. ich glaube langsam es stimmt 
was nicht mit dem Programm selbst..

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.