Die Standard AT-Firmware, mir der diese Module normalerweise verkauft
werden, wurde mit dem NonOS SDK entwickelt und befindet sich als
vorcompiliertes Binary in diesem SDK.
Man kann das SDK auch einzeln herunter laden. Ein Firmware wird aber
erst daraus, wenn man mit dem SDK ein Anwendungsprogramm entwickelt, daß
man in den Flash Speicher lädt.
Programme die mit dem NonOS SDK entwickelt wurden, basieren auf
Zustandsautomaten, die aus der Main-Loop heraus aufgerufen werden. Das
entspricht dem Arduino Modell, deswegen enhtält das ESP8266 Plugin für
Arduino ebenfalls das NonOS SDK (derzeit in Version 1.5.4).
Programme, die mit dem RTOS entwickelt wurden entsprechen eher dem, was
man von Desktop Betriebsystemen gewohnt ist. Das Betriebssystem verteilt
die CPU Zeit auf die Tasks. Aus Sicht des Programmierers laufen mehrere
Tasks quasi parallel.
Die NodeMCU/LUA Firmware ist nicht original. Sie basiert so weit ich
weiß ebenfalls auf dem NonOS SDK. Diese Firmware enthält einen
Interpreter für Scripte in der Sprache LUA.
OTA ist ein optionales Feature sowohl im NonOS SDK als auch im RTOS SDK,
welches Firmware Upload übers WLAN ermöglicht. Die OTA Firmware benötigt
doppelt so viel Flash Speicher. Eine Hälfte enthält das gerade laufende
Programm, die andere Hälfte wird für den Download-Vorgang verwendet.
Du hast geschrieben, daß deine ESP-01 Module alt sind. Dann sind es
vermutlich die blauen mit nur 512k Byte Flash Speicher. Dieser ist für
das aktuelle SDK zu klein. Aber du kannst das NonOS SDK 1.5.4 sowie die
darin befindliche AT-Firmware ohne OTA verwenden, das passt so gerade
noch rein.
Auch für Arduino sind die 512k Byte ausreichend.
Meiner Meinung nach machen sowohl LUA als auch das RTOS SDK wenig Sinn,
da der Chip dafür zu wenig RAM frei hat, nämlich nur 40kB. Bei LUA muss
man sein Script und alle Daten in diese 40kB quetschen. Man kann
allerdings viele kleine Scripte schreiben, die sich gegenseitig starten.
Bei RTOS wirst du sehen, daß 40kB schnell zu knapp werden, um die Stacks
zahlreicher Tasks aufzunehmen. Mit dem NonOS SDK hast du das Problem
nicht, denn dieses hat prinzipbedingt nur einen Stack. Allerdings ist
das Programmieren von Zustandsautomaten deutlich anspruchsvoller. Doch
erfahrene µC Entwickler dürfte das nicht abschrecken, denn
Zustandsautomaten dort zum Alltag.
Weitere Infos zum ESP8266 findest du hier:
http://stefanfrings.de/esp8266/index.html