Forum: Mikrocontroller und Digitale Elektronik ESP8266 Demos kombinieren und compilieren


von AT-Firmware (Gast)


Lesenswert?

Hallo,

im SDK von Espressif gibt es eine ganze Reihe Beispielprogramme und das 
Compilieren der einzelnen Files scheint auch relativ problemlos zu 
funktionieren.
Nun möchte ich aber mehrere Beispielprogramme zu einem größeren 
kombinieren und zack schmiert der Compiler ab.
Vorgehen ist also, die verwendeten Funktionen und Header aus 
unterschiedlichen Beispielen erstmal in eine größere Datei zusammen zu 
kopieren, aber Resultat sind Fehlermeldungen über Fehlermeldungen... 
weil viele Includes offenbar nicht gefunden werden.

Vermutich muss man die Make-Files anpassen, damit die einzelnen 
Funktionen an den richtigen Stellen gefunden und verlinkt werden können, 
nur wie macht man das?

Im Example-Ordner gibt es für jedes Beispiel ein MakeFile und die 
unterscheiden sich von Beispiel zu Beispiel.
Ich bräuchte also (vermutlich) ein kombiniertes MakeFile um C-Codes aus 
mehreren unterschiedlichen Ursprüngen compiliern zu können...

...oder liegt das Problem ev. ganz wo anders?

von Jim M. (turboj)


Lesenswert?

AT-Firmware schrieb:
> Nun möchte ich aber mehrere Beispielprogramme zu einem größeren
> kombinieren und zack schmiert der Compiler ab.

Üblicherweise muss man die zuerst verstehen. Und dann sich sinnvoll 
Teile rauspicken und so 20-30% Rest selbst schreiben.

Denn man kann die betont einfach gehaltenen Demos oft nur schlecht 
miteinander kombinieren, weil das der Übersichtlichkeit halber nicht 
vorgesehen ist.

von AT-Firmware (Gast)


Lesenswert?

...naja, es geht ja nun nicht darum die Beispielprogramme für sich zu 
verstehen, sondern viel eher wie die Toolchain manipuliert werden muss, 
um Änderungen im Code zu ermöglichen und mehrere Beispiele zu 
verbinden...

von simpson (Gast)


Lesenswert?

AT-Firmware schrieb:
> Im Example-Ordner gibt es für jedes Beispiel ein MakeFile und die
> unterscheiden sich von Beispiel zu Beispiel.
> Ich bräuchte also (vermutlich) ein kombiniertes MakeFile um C-Codes aus
> mehreren unterschiedlichen Ursprüngen compiliern zu können...
>
> ...oder liegt das Problem ev. ganz wo anders?

Ich bin ja mal gespannt, ob dir jemand alle Fehlermöglichkeiten mit 
Lösung hier aufzählt.

von Stefan F. (Gast)


Lesenswert?

Du kannst nicht einfach mehrere Programme zusammen kopieren, einmal 
kräftig umrühren, aufkochen und dann mit Salz und Pfeffer abschmecken.

Diese Herangehensweise ist vollkommen falsch. Jim Meba hat es korrekt 
geschrieben: Üblicherweise muss man die (Beispiel-Quelltexte) zuerst 
verstehen.

> wie die Toolchain manipuliert werden muss,
> um Änderungen im Code zu ermöglichen

Da gibt es nichts zu manipulieren. Allerhöchstens muss man zusätzlich 
hinzugefügte Dateien irgendwo eintragen.

An deiner Frage erkenne ich, dass du sehr weit von dem nötigen Know-How 
entfernt bist, dass man für den Umgang mit diesem SDK benötigt. Selbst 
ich tue mich damit schwer, trotz über 20 Jahre Hobby-Erfahrung.

Ich kann Dir nur raten, diesen Chip lieber mit dem Arduino Framework zu 
programmieren und meine Anleitung zum Thema zu lesen. 
http://stefanfrings.de/esp8266/index.html

Außerdem rate ich Dir, deine Probleme demnächst besser zu beschreiben. 
Das Mindeste wäre wohl gewesen, die Fehlermeldung zu zitieren.

von Andreas Müller (Gast)


Lesenswert?

Stefan U. schrieb:
>> wie die Toolchain manipuliert werden muss,
>> um Änderungen im Code zu ermöglichen
>
> Da gibt es nichts zu manipulieren.


Korrekt.


> An deiner Frage erkenne ich, dass du sehr weit von dem nötigen Know-How
> entfernt bist, dass man für den Umgang mit diesem SDK benötigt. Selbst
> ich tue mich damit schwer, trotz über 20 Jahre Hobby-Erfahrung.
>
> Ich kann Dir nur raten, diesen Chip lieber mit dem Arduino Framework zu
> programmieren und meine Anleitung zum Thema zu lesen.


Soweit würde ich nicht gehen, das ESP-IDF nimmt dem Entwickler doch fast 
die ganze Arbeit ab. Wenn das einmal verstanden ist, dann muss man sich 
den Arduino-Krempel nicht antun.

Aber er hat genau den Fehler gemacht, den so viele hier gemacht haben, 
die mit solchen (durchaus blöden) Fragen ankommen: Er hat die Doku nicht 
gelesen. Dort steht das durchaus verständlich drin - und das heisst 
schon was bei Espressif.

@AT-Firmware: Folgendes liest Du Dir gründlich durch und dann setzt Du 
es um. Wenn es dann noch immer nicht funktioniert, stellst Du hier mal 
Dein komplettes Projekt ein. Wir helfen dann weiter.
http://esp-idf.readthedocs.io/en/latest/api-guides/build-system.html

von Andreas Müller (Gast)


Lesenswert?

Oh sorry, hatte glatt gelesen, dass das um den ESP32 geht. Mit dem 
ESP8266 läuft das natürlich anders...

von Keller (Gast)


Lesenswert?

Klein anfangen ...
ohne Verstand geht nichts

;-)

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.