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

User avatar
By vic
#19991 It's explained in the readme of the project at https://github.com/pfalcon/esp-open-sdk/, you can compile it in two modes with

Code: Select allmake STANDALONE=n
or
make STANDALONE=y


According to the readme STANDALONE=y is the default, and when in that mode the linker includes are ignored (for example -Wl,-L=... gcc options) and replaced by some fixed versions of the .a libraries. Linkage still worked in my case but the code didn't work properly afterwards. Espressif must have made some backwards incompatible changes to their implementation. The esp-open-rtos can't be compiled in standalone mode either.
User avatar
By cal
#19993
vic wrote:I found my issue : I was compiling using the esp-open-sdk in standalone mode (I believe it's the default), and I didn't realize that it overrode the ld library path and as a result didn't link with the .a files from esp_iot_rtos_sdk. After recompiling the toolchain in non-standalone mode, everything went fine connecting at 115200 bauds.

That makes sense for me now.
Standalone mode means to use and include the xtos sdk in the build and that clashes with your build of
the rtos sdk.

Thanks for the information,
Cal