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

User avatar
By davydnorris
#96405
eriksl wrote:Agree that the ESP32 has some interesting features, but nothing I can't do with the ESP8266. Nice to have hardware I2C and PWM modules, but I just do fine with my software emulations (my I2C implementation can reach speeds of 500 kHz, the Espressif version only 100 kHz; the PWM implementation can reach 18 bit PWM, 16 bits up to 120 Hz, which is not perfect, but better than most hardware implementations).


The big ones for me are the enhanced security built in, and the different radios - Wifi, BLE and 802.15.4. The latter means ZigBee out of the box and 6LoWPAN capable with a stack, and proper mesh ability
User avatar
By davydnorris
#96406
eriksl wrote:So there really isn't a "grand unified SDK" (the IDF) which Espressif claims?

I hope they went the same road I did: pull the version of crosstool-ng that Fillipov's commits apply to, then merge these commits (so it's a actually an exact copy of what Max has) then <i>rebase</i> it to the current version of crosstool-ng, resolve all the conflicts and then fix stuff and make then neat commits on top. That way you can always do a rebase again. But knowing Espressif, they probably didn't do that and simply merged one large commit with all fixes (well, "fixes"... often) and didn't rebase, so they're for always stuck at that version.


They are getting closer - certainly for the ESP32 chipsets. At this stage it appears that the same user codebase will be able to be recompiled simply by selecting the appropriate chipset in the IDF and building. The ESP8266 is different as they've had to swing the old RTOS SDK around slowly but they claim their aim is to merge it completely with the IDF.

Of course, it's not going to be quite that simple in real life, as each chipset has slightly different capabilities, so you'll have to make sure your code queries the interfaces and adapts as needed, but it shouldn't be code littered with a million #ifdef statements

As for the crosstool and libs - from the way the commits look I think that's what they might be doing, but can't be sure
User avatar
By eriksl
#96409
davydnorris wrote:
eriksl wrote:Agree that the ESP32 has some interesting features, but nothing I can't do with the ESP8266. Nice to have hardware I2C and PWM modules, but I just do fine with my software emulations (my I2C implementation can reach speeds of 500 kHz, the Espressif version only 100 kHz; the PWM implementation can reach 18 bit PWM, 16 bits up to 120 Hz, which is not perfect, but better than most hardware implementations).

The big ones for me are the enhanced security built in, and the different radios - Wifi, BLE and 802.15.4. The latter means ZigBee out of the box and 6LoWPAN capable with a stack, and proper mesh ability

Ah ok, right. I am not doing anything with Bluetooth or ZipBee or mesh stuff. So yes clear ;)

How do you mean enhanced security built in? The hardware RNG and AES support or the encryption of the firmware in flash? The latter I am not a big fan of...
User avatar
By eriksl
#96410
davydnorris wrote:They are getting closer - certainly for the ESP32 chipsets. At this stage it appears that the same user codebase will be able to be recompiled simply by selecting the appropriate chipset in the IDF and building. The ESP8266 is different as they've had to swing the old RTOS SDK around slowly but they claim their aim is to merge it completely with the IDF.

Of course, it's not going to be quite that simple in real life, as each chipset has slightly different capabilities, so you'll have to make sure your code queries the interfaces and adapts as needed, but it shouldn't be code littered with a million #ifdef statements

As for the crosstool and libs - from the way the commits look I think that's what they might be doing, but can't be sure

In the end it's clear - they don't really want to spend effort on the ESP8266. Especially the NONOS SDK. I think it also clear: the ESP8266 is used by both hobbyists (and they don't care, generate no cash flow) and by companies. It looks like the companies are using it for very simple tasks (like a remote controllable wall socket), for that the current NONOS SDK or RTOS SDK is quite sufficient and if not, the companies can get direct (paid) support from Espressif. So for them, there is no problem. Of course they're trying to get all new projects to move to the ESP32, but I can imagine many companies have a problem with them being more expensive than the ESP8266.

So once in a while I order a stack of ESP12F or ESP12S and hope they will remain available for some time...