Freepascal am ESP8266

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Freepascal am ESP8266

Beitrag von Timm Thaler »

Gibt es schon ein Tutorial - gern auch englisch - wie man das auf so einen ESP draufbekommt?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

Ich denke, da wirst du noch eine weile warten müssen. Solange der Compiler nicht fertig ist, macht es auch keinen Sinn.
Oder meinst du nur das Hochladen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

FPK
Beiträge: 65
Registriert: Mi 21. Mai 2008, 19:38
Wohnort: Erlangen

Re: Freepascal am ESP8266

Beitrag von FPK »

Ich habe mal angefangen ein paar Infos auf
https://wiki.freepascal.org/ESP32
zusammenzuschreiben. Das ist aber weit davon entfernt Endanwendertauglich zu sein sondern eher erstmal für Leute, die den FPC-Port verbessern wollen.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

So war es auch mal mit AVR.
Heute ist es sogar besser als Arduino. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

FPK
Beiträge: 65
Registriert: Mi 21. Mai 2008, 19:38
Wohnort: Erlangen

Re: Freepascal am ESP8266

Beitrag von FPK »

Mathias hat geschrieben:So war es auch mal mit AVR.
Heute ist es sogar besser als Arduino. :wink:


Da bin ich mal gespannt, wie komfortabel wir ESP* hinkriegen, der Port wird leider kaum ohne Libraries aus dem offiziellen SDK auskommen :(

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

Wieso ?
Ist der ESP total anders als ein avr/arm ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

FPK
Beiträge: 65
Registriert: Mi 21. Mai 2008, 19:38
Wohnort: Erlangen

Re: Freepascal am ESP8266

Beitrag von FPK »

Mathias hat geschrieben:Wieso ?
Ist der ESP total anders als ein avr/arm ?


Prinzipiell nicht, aber ungefähr 10x so komplex ;) Hauptgrund ist, dass ohne die Herstellerlibraries gar nichts geht. Um einen Eindruck zu gewinnen, einfach mal das Hello world-Beispiel aus dem Espressif-SDK nachvollziehen und anschauen, was cmake da beim Build (>900 Schritte) so alles macht :)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

was cmake da beim Build (>900 Schritte) so alles macht

Ist doch bei Arduino C++ auch so, da wird viel unnötiges mitkompiliert.
Auch wen man einen STM32 mit Arduino kompiliert, der Code ist riessig.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Freepascal am ESP8266

Beitrag von Socke »

Du kannst auch auf ESP8266 direkt auf dem Prozessor arbeiten (embedded). Dann musst du aber sämtliche Funktionen selbst implementieren, z.B. auch:
Wikipedia hat geschrieben:Als Besonderheit und aus Kostengründen weist der ESP8266 keinen internen nicht-flüchtigen und programmierbaren Flash-Speicher für die anwendungsspezifische Firmware auf. Die komplette Firmware ist in einem externen, seriellen Flash-Speicher abgelegt und wird zur Ausführung blockweise in den internen RAM-Speicher geladen und dort ausgeführt.

Wie auf der Mailingliste von Florian geschrieben, soll eine Integration in das genutzte FreeRTOS implementiert werden. Bisher hatte ich nur ein OpenSource RTOS für ARM gefunden. Für Xtensa gibt es noch nichts; da ist es vermutlich einfacher, das offizielle SDK RTOS zu linken.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

Die komplette Firmware ist in einem externen, seriellen Flash-Speicher abgelegt und wird zur Ausführung blockweise in den internen RAM-Speicher geladen und dort ausgeführt.

So ähnlich wie ein alter PC die Daten von Diskette geholt hat ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Freepascal am ESP8266

Beitrag von Socke »

Mathias hat geschrieben:
Die komplette Firmware ist in einem externen, seriellen Flash-Speicher abgelegt und wird zur Ausführung blockweise in den internen RAM-Speicher geladen und dort ausgeführt.

So ähnlich wie ein alter PC die Daten von Diskette geholt hat ?

Vielleicht lässt sich das eher mit einem "normalen" PC vergleichen: Du hast dein Programm auf der Festplatte. Zur Ausführung wird es vom Betriebssytem in den Arbeitsspeicher geladen.
Der Unterschied ist, dass du beim ESP8266 nur ein einziges Programm hast, und dieses nicht komplett sondern nur in Teilen in den Arbeitsspeicher geladen wird.
AVR und ARM führen die Programme direkt aus dem eigenen Flash/EEPROM-Speicher ausführen und müssen sie vorher nicht in den RAM laden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Freepascal am ESP8266

Beitrag von Mathias »

Für die Erstellung für eine XTensa Plattform gibt es schon ein Wiki in Beta: https://wiki.freepascal.org/Xtensa
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Freepascal am ESP8266

Beitrag von fliegermichl »

Da wo ich diesen I2C Servotreiber her hatte, hab ich auch gleich mal dieses kleine Ding mitbestellt. Ist ein Entwicklerboard mit oLED Display und zwei Tastern mit esp8266.

Da will ich doch dann mal bissi mit spielen ...
esp8266.jpg
esp8266.jpg (64.96 KiB) 2866 mal betrachtet

FPK
Beiträge: 65
Registriert: Mi 21. Mai 2008, 19:38
Wohnort: Erlangen

Re: Freepascal am ESP8266

Beitrag von FPK »

fliegermichl hat geschrieben:
Sa 2. Mai 2020, 04:34
Da wo ich diesen I2C Servotreiber her hatte, hab ich auch gleich mal dieses kleine Ding mitbestellt. Ist ein Entwicklerboard mit oLED Display und zwei Tastern mit esp8266.
ESP8266 wird bisher nur theoretisch unterstützt. Aber ich habe mir auch mal einen bestellt, dann sollte das schnell gehen ;)

Antworten