Test der Installationen

Alle Tools sind installiert, alle Repositories sind geklont – jetzt wird geprüft, ob alles wirklich funktioniert. Dieser Schritt ist keine Formalität: Er zeigt, ob FPGA und ESP32 korrekt erkannt werden, ob die Toolchains greifen und ob das Board so reagiert, wie es soll. Wer hier grünes Licht bekommt, ist startklar für die eigentliche Entwicklung.


Besonderheit: Der AXP2101 Powerchip

Das T-FPGA Board enthält einen AXP2101 Powerchip, der für die Stromversorgung aller Komponenten zuständig ist. Er lädt die 18650-LiIon-Zelle des T-FPGA-Shields und erzeugt daraus alle benötigten Versorgungsspannungen – ganz automatisch, ohne Zutun des Entwicklers. Mit einer Einschränkung: Im unkonfigurierten Zustand liefert er nur die 3,3 Volt für den ESP32. Das FPGA bekommt dabei keine Spannung.

Das bedeutet: Bei jedem Start muss der ESP32 den AXP2101 zuerst programmieren, bevor das FPGA funktionsfähig ist. Das passiert normalerweise automatisch durch die laufende Firmware. Wenn man aber ein frisches Programm – etwa das Hello-World-Beispiel – auf den ESP32 lädt, fehlt dieser Initialisierungsschritt, und das FPGA bleibt dunkel. Die Platine ist dann nicht defekt – sie wartet nur darauf, dass der Powerchip konfiguriert wird.

Um diesen Zustand zu beheben, gibt es ein fertiges Hilfsprogramm. Es liegt im geklonten LilyGo-Repository unter:

T-FPGA-LilyGo\example\ESP32-S3\turn_on_power

Dort entpackt man firmware.zip und führt anschließend click_me.bat aus – vorausgesetzt, das T-FPGA Board ist über VirtualBox eingebunden und im Gerätemanager als COM-Port sichtbar. Nach dem Start sollten die LEDs auf dem Board blinken. Das Programm beendet man nicht über eine Taste, sondern direkt über das Fenster.


GoWin EDA: Das erste FPGA-Projekt laden

Jetzt wird das FPGA zum ersten Mal mit einem eigenen Design bespielt. Man öffnet die Projektdatei:

FPGA\SimpleLed\Button\Button.gprj

Der GoWin FPGA Designer startet und lädt das Projekt. In der Toolbar rechts finden sich drei Symbole: Run Synthesis, Run Place & Route und Run All. Ein Klick auf Run All erzeugt in weniger als einer Sekunde die Programmierdatei für das FPGA.

Links davon befindet sich in der Toolbar der Programmer – erkennbar am grünen Pfeil nach unten mit den 0en und 1en. Ein Klick darauf öffnet den Dialog Cable Setting. Dort betätigt man Query/Detect Cable, um sicherzustellen, dass das FPGA korrekt verbunden ist, und bestätigt mit Save.

Im Hauptfenster des Gowin Programmers gibt es einen Button Program/Configure mit einem kleinen grünen Pfeil nach rechts. Ein Klick startet den Ladevorgang – ein Fortschrittsbalken füllt sich, und im Output-Bereich erscheint die Bestätigung, dass das FPGA erfolgreich programmiert wurde.

Jetzt kommt der Moment: Den zweiten Button von rechts auf dem Board drücken – und die rote LED leuchtet auf. Das FPGA läuft.


Espressif IDE: Hello World debuggen

Beim ersten Start der Espressif IDE wählt man als Workspace das Verzeichnis, in das das T-FPGA Repository geklont wurde – zum Beispiel C:\Projekte\FPGA-Prj\T-FPGA\Espressif\. Anschließend verbindet man die IDE mit dem installierten IDF: ESP-IDF Version 6.0 wählen und Activate Selected klicken.

Das Beispielprojekt importiert man über File → Import... → Espressif → Existing IDF Project. Im folgenden Dialog wählt man über Browse den Ordner Espressif\hello_world aus. Wichtig: „Copy project into workspace" nicht aktivieren – das Projekt liegt bereits im Workspace. Mit Finish wird es eingebunden.

In der Toolbar erscheinen nun Dropdowns für das Projekt und den Prozessor. Über das Dreieck nach unten stellt man den Prozessor auf esp32s3 um. Das Zahnrad daneben öffnet die Konfiguration – dort wählt man als Board ESP32-S3 chip (via builtin USB-JTAG) und trägt das passende COM-Port für den ESP32 ein.

Für die Ausgabe öffnet man parallel ein PuTTY-Terminal und verbindet es seriell mit dem gewählten COM-Port. Die Baudrate ist wegen der JTAG-Verbindung eigentlich beliebig – 115200 ist ein guter Standard.

Der letzte Schritt ist die Debug-Konfiguration. In der unteren Toolbar gibt es einen Debug-Button mit einem Dreieck zum Aufklappen. Dort wählt man Debug Configurations..., navigiert in der Liste zu ESP-IDF GDB OpenOCD Debugging und erstellt über das Kontextmenü eine New Configuration. Die Einstellungen sind bereits korrekt vorbelegt – also direkt auf Debug klicken.

Die erste Übersetzung dauert eine Weile. Sobald das Programm geladen ist, startet es sofort – noch bevor der Debugger eingreift. Im PuTTY-Terminal ist die Ausgabe des Hello-World-Programms zu sehen, und der Debugger hält am Anfang der Funktion app_main. Von hier aus lässt sich das Programm schrittweise durchlaufen und beobachten.


Herzlichen Glückwunsch – die Entwicklungsumgebung ist vollständig eingerichtet und getestet. FPGA und ESP32 laufen, die Tools greifen, und das erste eigene Programm läuft auf der Hardware. Jetzt kann es mit dem eigentlichen Kurs losgehen.

Zurück: Entwicklungsverzeichnisse anlegen     Weiter: Doxygen und Graphviz →