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

User avatar
By MobiusHorizons
#57431 Hello all, I'm still new to building executables for the ESP8266, so bear with me :)

For my environment, I am using esp-open-sdk.

I am trying to compile the esp_mqtt_proj example that comes with the sdk.

The makefile in that project didn't seem to have any targets, and forum posts suggested that the provided makefiles are difficult to get working, so I modified the makefile from https://github.com/esp8266/source-code-examples/blob/master/example.Makefile to get the build working.

That builds after adding a couple of include flags, and adding the appropriate linking libraries, but when I run `make flash`, the esp8266 starts writing trash to the serial port at full speed.

Is this a common failure mode?
How would I go about debugging what went wrong, and how to fix it.
Thanks

EDIT after posting the above, I re-built the esp-open-sdk, so that I am running the latest. This apparently includes a `user_rf_cal_sector_set` in `libmain.a`, so I commented that out from `user/user_main.c`. Also, the `firmware/0x40000.bin` became `firmware/0x10000.bin`.

Upon flashing the new build, the trash on the serial port at 74880 baud which had previously been boot info followed by trash, now becomes a true boot loop containing countless repeats of the following data

Code: Select allload 0x40100000, len 29716, room 16
tail 4
chksum 0xa3
load 0x3ffe8000, len 2024, room 4
tail 4
chksum 0x7b
load 0x3ffe87f0, len 3732, room 4
tail 0
chksum 0x74
csum 0x74
rf_cal[0] !=0x05,is 0xFF

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)



The line rf_cal[0] !=0x05,is 0xFF seems to be important, and possibly related to the user_rf_cal_selector being in libmain.a. I don't know exactly what this means, though, so I'm not quite sure how to procede.

Thanks.