Micropython mit LVGL zusammen kompilieren: Unterschied zwischen den Versionen

Aus Micropython Referenz
Zur Navigation springen Zur Suche springen
Peter (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „= MicroPython mit LVGL für ESP32 selbst bauen = == Voraussetzungen == * Git ist installiert * Docker ist installiert (falls nötig, aber nicht zwingend für nativen Build) * ESP-IDF ist installiert und korrekt initialisiert (getestet mit ESP-IDF v5.1 oder v5.2) == Vorbereitung == Zunächst alle alten Installationen und Downloads löschen: <syntaxhighlight lang="bash"> rm -rf ~/mpy_lvgl_test </syntaxhighlight> == Schritte == === 1. Repository klonen…“
 
Peter (Diskussion | Beiträge)
Zeile 2: Zeile 2:


== Voraussetzungen ==
== Voraussetzungen ==
* Git ist installiert
* Git installiert
* Docker ist installiert (falls nötig, aber nicht zwingend für nativen Build)
* ESP-IDF installiert und aktiviert (z.B. v5.1 oder neuer)
* ESP-IDF ist installiert und korrekt initialisiert (getestet mit ESP-IDF v5.1 oder v5.2)
* Python3 vorhanden


== Vorbereitung ==
== Vorbereitung ==
Zunächst alle alten Installationen und Downloads löschen:
Alte Installationen aufräumen:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Zeile 16: Zeile 16:


=== 1. Repository klonen ===
=== 1. Repository klonen ===
Das LVGL-MicroPython-Repository mit allen Submodulen klonen:
Die notwendigen Projekte herunterladen:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Zeile 22: Zeile 22:
cd ~/mpy_lvgl_test
cd ~/mpy_lvgl_test
git clone --recurse-submodules https://github.com/lvgl/lv_binding_micropython.git
git clone --recurse-submodules https://github.com/lvgl/lv_binding_micropython.git
cd lv_binding_micropython
git clone https://github.com/micropython/micropython.git
</syntaxhighlight>
</syntaxhighlight>


=== 2. ESP-IDF Umgebung laden ===
=== 2. Micropython vorbereiten ===
Die ESP-IDF-Umgebung aktivieren:
Submodule von MicroPython initialisieren:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
source ~/esp-idf/export.sh
cd micropython
git submodule update --init --recursive
cd ..
</syntaxhighlight>
</syntaxhighlight>


=== 3. In das ESP32-Port-Verzeichnis wechseln ===
=== 3. C-Module einbinden ===
Einbinden des LVGL-User-C-Modules:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd ports/esp32
cd micropython/ports/esp32
mkdir -p boards
echo "USER_C_MODULES = ../../../../lv_binding_micropython/user_modules" > boards/user_C_module.cmake
</syntaxhighlight>
</syntaxhighlight>


=== 4. Target setzen ===
=== 4. ESP-IDF Umgebung aktivieren ===
 
ESP-IDF Setup starten:
Damit MicroPython für ESP32 kompiliert wird:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
idf.py set-target esp32
source ~/esp-idf/export.sh
</syntaxhighlight>
</syntaxhighlight>


(Dadurch wird eine neue `sdkconfig` erstellt.)
=== 5. Target setzen und Build starten ===
 
Zielplattform einstellen und Build starten:
=== 5. Build starten ===
 
Jetzt den MicroPython Build starten:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
idf.py set-target esp32
idf.py build
idf.py build
</syntaxhighlight>
</syntaxhighlight>


=== Hinweis ===
=== Hinweise ===
* Warnungen über ''tinyusb'' können ignoriert werden.
* TinyUSB-Warnungen können ignoriert werden.
* Das Menü ''menuconfig'' kann durch Drücken von ''Q'' verlassen werden, wenn keine Änderungen nötig sind.
* Falls ''menuconfig'' geöffnet wird, mit ''Q'' beenden.
* Achtung: immer zuerst die ESP-IDF Umgebung aktivieren!


== Abschluss ==
== Abschluss ==
Zeile 67: Zeile 70:
</syntaxhighlight>
</syntaxhighlight>


die Firmware direkt auf den ESP32 geflasht werden.
die Firmware auf das Board geladen werden.
 
== Fehlerbehandlung ==
* Fehler "CMakeLists.txt fehlt": Kontrollieren, ob im richtigen Verzeichnis gearbeitet wird (ports/esp32).
* Fehler bei fehlenden Paketen: sicherstellen, dass Python-Umgebung korrekt eingerichtet ist.


== Troubleshooting ==
= Fertig! =
* Bei Fehlern bzgl. fehlender Submodule: `git submodule update --init --recursive`
* Immer sicherstellen, dass die ESP-IDF-Umgebung aktiv ist: `source ~/esp-idf/export.sh`


= Fertig! =
= Fertig! =

Version vom 29. April 2025, 01:33 Uhr

MicroPython mit LVGL für ESP32 selbst bauen

Voraussetzungen

  • Git installiert
  • ESP-IDF installiert und aktiviert (z.B. v5.1 oder neuer)
  • Python3 vorhanden

Vorbereitung

Alte Installationen aufräumen:

rm -rf ~/mpy_lvgl_test

Schritte

1. Repository klonen

Die notwendigen Projekte herunterladen:

mkdir -p ~/mpy_lvgl_test
cd ~/mpy_lvgl_test
git clone --recurse-submodules https://github.com/lvgl/lv_binding_micropython.git
git clone https://github.com/micropython/micropython.git

2. Micropython vorbereiten

Submodule von MicroPython initialisieren:

cd micropython
git submodule update --init --recursive
cd ..

3. C-Module einbinden

Einbinden des LVGL-User-C-Modules:

cd micropython/ports/esp32
mkdir -p boards
echo "USER_C_MODULES = ../../../../lv_binding_micropython/user_modules" > boards/user_C_module.cmake

4. ESP-IDF Umgebung aktivieren

ESP-IDF Setup starten:

source ~/esp-idf/export.sh

5. Target setzen und Build starten

Zielplattform einstellen und Build starten:

idf.py set-target esp32
idf.py build

Hinweise

  • TinyUSB-Warnungen können ignoriert werden.
  • Falls menuconfig geöffnet wird, mit Q beenden.
  • Achtung: immer zuerst die ESP-IDF Umgebung aktivieren!

Abschluss

Nach erfolgreichem Build kann mit

idf.py flash

die Firmware auf das Board geladen werden.

Fehlerbehandlung

  • Fehler "CMakeLists.txt fehlt": Kontrollieren, ob im richtigen Verzeichnis gearbeitet wird (ports/esp32).
  • Fehler bei fehlenden Paketen: sicherstellen, dass Python-Umgebung korrekt eingerichtet ist.

Fertig!

Fertig!