ESP-IDF ist das offizielle Entwicklungsframework für den ESP32-Chip.
Detaillierte Anweisungen zum Einrichten des ESP-IDF finden Sie in den Einrichtungshandbüchern:
Neben dem im Installationshandbuch erwähnten esp-idf-template-Projekt enthält ESP-IDF einige Beispielprojekte im Beispielverzeichnis.
Sobald Sie das Projekt gefunden haben, mit dem Sie arbeiten möchten, wechseln Sie in dessen Verzeichnis und können es konfigurieren und erstellen.
make menuconfig
?
um einen Hilfebildschirm anzuzeigen. Mit der Eingabetaste verlassen Sie den Hilfebildschirm.Y
und N
-Tasten, um Konfigurationselemente mit Kontrollkästchen „ [*]
“ zu aktivieren (Ja) und zu deaktivieren (Nein).?
Beim Markieren eines Konfigurationselements wird Hilfe zu diesem Element angezeigt./
ein, um die Konfigurationselemente zu durchsuchen.Wenn Sie mit der Konfiguration fertig sind, drücken Sie mehrmals die Esc-Taste, um den Vorgang zu beenden, und sagen Sie „Ja“, um die neue Konfiguration zu speichern, wenn Sie dazu aufgefordert werden.
make all
... kompiliert App und Bootloader und generiert eine Partitionstabelle basierend auf der Konfiguration.
Wenn make all
fertig ist, wird eine Befehlszeile gedruckt, um esptool.py zum Flashen des Chips zu verwenden. Sie können dies jedoch auch über make tun, indem Sie Folgendes ausführen:
make flash
Dadurch wird das gesamte Projekt (App, Bootloader und Partitionstabelle) auf einen neuen Chip geflasht. Die Einstellungen für das Flashen der seriellen Schnittstelle können mit make menuconfig
konfiguriert werden.
Sie müssen make all
nicht ausführen, bevor Sie make flash
flash ausführen. make flash
erstellt automatisch alles neu, was es benötigt.
Das make monitor
Ziel verwendet das bereits installierte Miniterm (einen Teil von Pyserial), um die serielle Ausgabe des ESP32 auf der Terminalkonsole anzuzeigen.
Beenden Sie Miniterm, indem Sie Strg-] eingeben.
Um die Ausgabe in einem Durchgang zu flashen und zu überwachen, können Sie Folgendes ausführen:
make flash monitor
Nach dem ersten Flash möchten Sie möglicherweise nur Ihre App erstellen und flashen, nicht den Bootloader und die Partitionstabelle:
make app
– Erstellen Sie nur die App.make app-flash
– nur die App flashen. make app-flash
erstellt die App bei Bedarf automatisch neu.
(Bei der normalen Entwicklung besteht kein Nachteil darin, den Bootloader und die Partitionstabelle jedes Mal neu zu flashen, sofern sie sich nicht geändert haben.)
ESP-IDF unterstützt das parallele Kompilieren mehrerer Dateien, sodass alle oben genannten Befehle als make -jN
ausgeführt werden können, wobei N
die Anzahl der parallel auszuführenden Make-Prozesse ist (im Allgemeinen sollte N gleich oder um eins größer als die Anzahl der CPU-Kerne sein). in Ihrem System.)
Mehrere Make-Funktionen können zu einer zusammengefasst werden. Beispiel: Um die App und den Bootloader mit 5 Jobs parallel zu erstellen, dann alles zu flashen und dann die serielle Ausgabe des ESP32-Laufs anzuzeigen:
make -j5 flash monitor
Sobald Sie Ihr Projekt kompiliert haben, enthält das Verzeichnis „build“ eine Binärdatei mit einem Namen wie „my_app.bin“. Dies ist eine ESP32-Image-Binärdatei, die vom Bootloader geladen werden kann.
Der Flash eines einzelnen ESP32 kann mehrere Apps sowie viele verschiedene Arten von Daten (Kalibrierungsdaten, Dateisysteme, Parameterspeicher usw.) enthalten. Aus diesem Grund wird im Flash eine Partitionstabelle auf den Offset 0x4000 geflasht.
Jeder Eintrag in der Partitionstabelle hat einen Namen (Bezeichnung), einen Typ (App, Daten oder etwas anderes), einen Subtyp und den Offset im Flash, wo die Partition geladen wird.
Der einfachste Weg, die Partitionstabelle zu verwenden, besteht darin make menuconfig
und eine der einfachen vordefinierten Partitionstabellen auszuwählen:
In beiden Fällen wird die Werks-App mit dem Offset 0x10000 geflasht. Wenn Sie make partition_table
, wird eine Zusammenfassung der Partitionstabelle gedruckt.
Weitere Informationen zu Partitionstabellen und zum Erstellen benutzerdefinierter Variationen finden Sie in der Datei docs/partition-tables.rst
.
Das make flash
Ziel löscht nicht den gesamten Flash-Inhalt. Allerdings ist es manchmal sinnvoll, das Gerät in einen vollständig gelöschten Zustand zurückzusetzen, insbesondere wenn Sie Änderungen an der Partitionstabelle oder OTA-App-Updates vornehmen. Um den gesamten Flash zu löschen, führen Sie make erase_flash
aus.
Dies kann mit anderen Zielen kombiniert werden, z. B. make erase_flash flash
löscht alles und flasht dann die neue App, den Bootloader und die Partitionstabelle erneut.
Dokumentation für die neueste Version: http://esp-idf.readthedocs.io/. Diese Dokumentation wird aus dem docs-Verzeichnis dieses Repositorys erstellt.
Das esp32.com-Forum ist ein Ort, an dem Sie Fragen stellen und Community-Ressourcen finden können.
Schauen Sie im Abschnitt „Probleme“ auf Github nach, wenn Sie einen Fehler finden oder eine Funktionsanfrage haben. Bitte überprüfen Sie bestehende Probleme, bevor Sie ein neues öffnen.
Wenn Sie daran interessiert sind, einen Beitrag zu ESP-IDF zu leisten, lesen Sie bitte den Beitragsleitfaden.