Espressif IDF – Create Project

Last Updated on 3. October 2026 by SuffocationLink status: OK

Hier beschreibe ich, wie ein neues IDF-Projekt angelegt wird.

Wie die IDF, auch in Verbindung mit VS-Code, genutzt und installiert wird, habe ich unter folgenden Links schon beschrieben und ist nicht Gegenstand dieses Beitrags.

Ein guter Start ist es, das IDF-Beispiel examples/get-started/sample_project aus dem esp-idf Ordner zu kopieren.

IDF Beispiele – sample_project Ordnerinhalt

Dieser Ordner enthält fast alles, was für ein neues Projekt benötigt wird.

Den Unterordner components habe ich der Vollständigkeit halber hinzugefügt. Dieser enthält gekapselte Projekte wie zum Beispiel Bibliotheken.

Die CMakeList.txt enthält einen Verweis auf die Standard-Make-Datei und den Projektnamen.

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(main)

Ein ähnlicher Inhalt ist im Makefile zu finden.

Die Readme.md beschreibt das Beispielprojekt, kann später aber zur Dokumentation des eigenen Projektes dienen.

Der Ordner main ist die Spielwiese des neuen Projektes. Hier finden wir unser Hauptprogramm (main.c), eine weitere CMakeLists.txt Datei und die component.mk. Hier werden auch alle Unterprogramm-Dateien abgelegt. Für das Hauptprogramm ist die component.mk nur ein Dummy, sie wird später für die „richtigen“ Komponenten im Components-Ordner benötigt.

Die CMakeLists.txt Datei enthält die Komponentenbeschreibung für unser Hauptprogramm. Sie setzt sich aus den verwendeten Quellcode-Dateien

SRCS="main.c" "datei1.c" "datei2.c" "..." 

den Include-Pfaden

INCLUDE_DIRS "." "pfad2" "pfad ..."

und optional aus den benötigten Komponenten zusammen.

COMPONENTS "Comp1" "Comp2"

Unsere initiale Version sieht wie folgt aus:

idf_component_register(SRCS "main.c"
 INCLUDE_DIRS "." )

Die main.c Datei enthält nur eine Funktion, die main_app. Diese wird vom Controller aufgerufen und ist der Startpunkt für unser Programm. Die Standard IO wird auch schon referenziert.

Conclusion

Das Projekt ist schnell kopiert und man hat fast alles, was man braucht. Je nachdem, welche Applikation erstellt werden soll, bietet es sich an, eines der anderen Projekte im Beispielordner zu kopieren.

Related Posts

Main contributionLink status: Broken

Espressif IDF – KonsolenausgabeLink status: Unknown
Espressif IDF – FehlerbehandlungLink status: Unknown
Espressif IDF – LognachrichtenLink status: Unknown
Espressif IDF – TimerLink status: Unknown
Espressif IDF – MenuconfigLink status: Unknown
Espressif IDF – TasksLink status: Unknown
Espressif IDF – GPIOsLink status: Unknown

Sources

IDF-Start a ProjectLink status: OK

IDF-Creating ExamplesLink status: OK

DateChangeAuthor
03.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung
Log-Liste eingefügt
Suffocation
07.01.2021Post createdSuffocation
Changelog

Leave a Reply

Your email address will not be published. Required fields are marked *