logo elektroda
logo elektroda
X
logo elektroda

I am looking for the RTOS-SDK for esp8266 in a lower version e.g. 2.0.0

tplewa 591 5
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 19958015
    tplewa
    Level 39  
    Witm

    Ot due to poor availability of components on the market and other projects lying around, I dug out from the depths of a drawer ;) modules bought long ago - for which I somehow never found the time. These modules are often described as ESP-07 although due to the 512K memory they look more like ESP-01.

    Well, this is where the problem comes in these days. The current SDK version 3.0 has grown quite a bit, while there are a few problems with the older ones.

    On the official git-hub, for example, for version 2.0.0 the libhal library (provided as a binary) is missing from the repository, so it is impossible to compile. Likewise, there are a few problems with the latest gcc (which is recommended for SDK version 3.x.x), and if you compile by doing a few patches, other problems arise. On the other hand, the lack of maintenance on the documentation pages for versions older than 3.x.x complicates things considerably if you want to use something older these days to fit in with the old modules.

    I managed to put together a working version of 1.5.0 beta (I think it came from PlatformIO)... All in all, I'm writing this post after a few days of searching the internet and testing the various versions I managed to get hold of.

    So here's a question, maybe someone has a working set of gcc with RTOS-SDK (preferably 2.0.x or possibly 2.1.x) on disk from the old days and would be able to share ?

    Version 1.5.0 somehow works, but despite its operation, e.g. with SPIFFS support (they work fine), it sometimes throws some strange errors on the UART. Admittedly, they do not affect the operation, but it is known that in the newer SDK probably some of the problems that may occur in the above-mentioned version can be corrected.

    Finally, I know these are cheap modules and you can change the memory or buy others, but I have about 10 of them lying around.... I have an idea for them, and I can easily do what I want to do in this memory (even though a large part of it will probably take the SDK itself) - this is in regard to such advice ;) .
  • ADVERTISEMENT
  • Helpful post
    #2 19959503
    khoam
    Level 42  
    tplewa wrote:
    On the official git-hub, e.g. for version 2.0.0, the libhal library (provided as a binary) is missing from the repository, so it is impossible to compile.

    The HAL sources for Xtensa LX106 are here: Link
  • ADVERTISEMENT
  • #3 19961039
    tplewa
    Level 39  
    khoam wrote:
    tplewa wrote:
    On the official git-hub, e.g. for version 2.0.0, the libhal library (provided as a binary) is missing from the repository, so it is impossible to compile.

    The HAL sources for Xtens LX106 are here: Link


    Thanks for the link ;) I've just done a bit of poking around I built myself an older gcc using crosstool-NG and there is starting to be some light at the end of the tunnel. Although looking at the whole thing I didn't know there would be so many eggs ;) Trying to add libstdc++ to write in c++ (use std::map for example) is a big challenge :) I guess it's easier to go towards open source projects like esp-open-sdk or esp-open-rtos because it's a lot of carnage with linkers, cutting objects from libraries etc.

    Heh at least one has something to do :) and it would be easier to write it in C however one likes to find new problems :crazyeyes:
  • ADVERTISEMENT
  • #4 19961052
    khoam
    Level 42  
    PlatformIO with its toolchain supports the RTOS-SDK for the ESP8266 in 512k flash (as ESP-01). I think it will be easier this way.
    Link .
    Link
    There will also then be no problems writing in C++. There is also the possibility to "plug in" your own modified toolchain.

    tplewa wrote:
    esp-open-rtos
    .
    It has been undeveloped for over 3 years and unfortunately differs from the official ESP8266 RTOS SDK quite significantly.
  • ADVERTISEMENT
  • #5 19961179
    tplewa
    Level 39  
    khoam wrote:
    PlatformIO with its toolchain supports RTOS-SDK for ESP8266 in 512k flash (as ESP-01). I think it will be easier this way.
    .

    Here it won't change much ;) because it will be as I had :) i.e. I wrote myself a class and was surprised after compilation that there are problems when linking when you add libstdc++ where conflicts appear. Basically because of the size it needs to be packed into flash, unfortunately it wants access to malloc ;) while malloc is in FreeRTOS in iram so it becomes a problem. You'd have to libstdc++ compile with -mlongcalls and resolve some other conflicts, i.e. the aforementioned butchering of objects and reorganization of everything.

    In fact the gcc ones I found and the SDK I think someone just scrounged from PlatdformIO - looking at the versions and files :) .

    All in all for the moment I wrote myself what I had without using std::map, string.... But I'll probably play around and cobble it together somehow once I've done what I'm supposed to do (more for fun). All in all, from what I've looked at the Arduino version is not badly messed up (also similar fun i.e. own heap, knocked out objects that made conflicts - on top of that playing with own yield etc.).

    As for esp-open-rtos, yes I've seen that it's quite old, but there's some basis there to see how it can be cobbled together (looking at the code).
  • #6 19962464
    khoam
    Level 42  
    tplewa wrote:
    All in all, from what I've looked at the Arduino version is not badly messed up (also similar games i.e. own heap, knocked out objects that made conflicts - on top of that playing with own yield etc.
    .
    Unfortunately the Arduino Core for the ESP8266 is built on the NonOS SDK, not the RTOS SDK. There is a lot of "carving" in this Core.
ADVERTISEMENT