Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By esp03madness
#18382 What is the difference between iot_sdk and iot_rtos_sdk? Other than that one uses FreeRTOS ;)

- the rtos one is on espressif github along with an early AT firmware version. Seems to be updated slower than the plain sdk
- the plain iot_sdk is only distributed via espressif's bbs
User avatar
By esp03madness
#18568 Hmm, no takers.
Ok, maybe not a very good question... let me rephrase:

1. why are there two versions of sdk - with FreeRTOS and without? Does espressif not use RTOS in their firmwares, such as the AT firmware?
2. why do we need a whole new SDK with FreeRTOS? Why not just add FreeRTOS on top of the non-RTOS sdk?
3. where is the FreeRTOS SDK being used?
4. why is FreeRTOS version of SDK being updated much more slowly than the non-RTOS?
User avatar
By tjclement
#18577 Who knows the reasoning behind it, but Espressif released the FreeRTOS version as a surprise. They did not use it in their own AT releases though, and have released several major SDK versions that weren't immediately included in the FreeRTOS release. I see that they have updated it at least to 0.9.9.

FreeRTOS adds pre-emptive task scheduling, meaning that we can run multiple "threads" at the same time, and they get scheduled on the processor automatically.

I tried the FreeRTOS version once, but couldn't get PWM working properly. In the end I went with NodeMCU, because the development cycle is insanely shorter than rebuilding and reflashing a C program every time.
User avatar
By esp03madness
#18586 Thanks for chiming in tjclement!

After reading somewhere in the Espressif docs that for wifi to function you cannot tie up the CPU for more than 10ms, I assumed the natural solution would have been the RTOS, but guess not... :?

I am actually quite attracted to the RTOS sdk myself and hope to give a try in the near future