platformio / platform-espressif8266

Espressif 8266: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/espressif8266
Apache License 2.0
320 stars 218 forks source link

Support for nonos-sdk 3.0.x and legacy OTA #283

Closed freedib closed 1 year ago

freedib commented 1 year ago

This PR implements support for the latest Espressif nonos-sdk (second commit) and support for legacy OTA usable with nonos-sdk and rtos-sdk (v1.5) (third commit).

I know that Espressif is phasing out nonos-sdk, but I prefer avoid arduino framework and still use these two ones until rtos3-sdk is available.

Support for the Espressif nonos-sdk (3.0.5) requires :

To support for legacy OTA, the platform must create binaries for user1 and user2 which can be stored on an http server. If direct upload is required, user1 binary must be uploaded. A new "ota" target is created in main.py. If used, then OTA files be generated. If not, non OTA files will be generated. A python tool (genbin.py) similar to Espressif's gen_appbin.py allow to extract elf sections and create flash.bin+irom0.text.bin (non OTA) or user1.bin+user2.bin (OTA). To achieve that, the platform builder :

freedib commented 1 year ago

I'm finalizing a new version which supports ESP8266-RTOS-SDV v3.4. I will rather make a push request on the new version