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

User avatar
By tinhead
#2511
Necromant wrote:Did I miss something? Is that really stored in spi flash?


yes you did, check the SDK and you will find out what. This is why i said already "call user start" is not main, there is rom code running, and that code is doing lot of things. And yes, the init data is in spi flash at 0x7C000 (where firmware config is at 0x7E000).
User avatar
By Necromant
#2512
tinhead wrote:
Necromant wrote:Did I miss something? Is that really stored in spi flash?


yes you did, check the SDK and you will find out what. This is why i said already "call user start" is not main, there is rom code running, and that code is doing lot of things. And yes, the init data is in spi flash at 0x7C000 (where firmware config is at 0x7E000).


Link please, or at least where to look? I've seen no references to that in 0.9.2 SDK, and info found here: here

I've just taken a spare module, flashed and had a quick look into the spi flash dump.
At 0x7E000 I see AP, STA and MAC settings, mixed with passwords in plain text and some semirandom data.
At 0x7C000 I can only see zeros. this area has't definetely been touched by any of my code on this module.



Code: Select allblackblade > spi_dump 507904 1024
7C000 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C010 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C020 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C030 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C040 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C050 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C060 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C070 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C080 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C090 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0A0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0B0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C0F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C100 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C110 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C120 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C130 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C140 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C150 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C160 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C170 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C180 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C190 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1A0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1B0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C1F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C200 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C210 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C220 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C230 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C240 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C250 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C260 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C270 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C280 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C290 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2A0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2B0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C2F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C300 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C310 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C320 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C330 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C340 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C350 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C360 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C370 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C380 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C390 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3A0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3B0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3C0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3D0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3E0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
7C3F0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................


I have yet another spare from different batch, but I can only dump it and tripple check that one at the weekend.

For now, I see only one instance of 'config' section at 0x7E000. Blobs DO store there AP, mac and STA settings which is annoying. There's also a handful of some other random bits. My initial guess was, that there was wireless calibration data from RF testing (iqflex or whatever they use) there. E.g. 'art' mtd partitiong on atheros routers, nfjrom on realtek, etc. If my guess was correct - wiping that would render wireless unworking. Yet it works fine.
Even more, the blobs don't seem to write anything into flash section until I first connect to a network or configure an AP.
User avatar
By Squonk
#2513
Necromant wrote:For now, I see only one instance of 'config' section at 0x7E000. Blobs DO store there AP, mac and STA settings which is annoying. There's also a handful of some other random bits. My initial guess was, that there was wireless calibration data from RF testing (iqflex or whatever they use) there. E.g. 'art' mtd partitiong on atheros routers, nfjrom on realtek, etc. If my guess was correct - wiping that would render wireless unworking. Yet it works fine.

No, unlike other WiSoC, the ESP8266 requires no factory calibration, as all the RF components are integrated and self-calibrating, and you don't need Flash to store anything for it.

This is a good thing, as cheap manufacturers cannot play with this to save money: they are left with replacing the required 10 ppm crystal by a less accurate 50 ppm one, and using refurbished / out of spec SPI Flash cheap instead of brand new ones :roll:
User avatar
By zz9pa
#2515 Hi,
trying to compile this on the VM with the current 'git' code and I'm getting :

/home/esp8266/esp8266-frankenstein/antares/make/Makefile.build:8: /home/esp8266/esp8266-frankenstein/src/espconn//Makefile: No such file or directory
make[2]: *** No rule to make target `/home/esp8266/esp8266-frankenstein/src/espconn//Makefile'.
make[2]: Failed to remake makefile `/home/esp8266/esp8266-frankenstein/src/espconn//Makefile'.


Any ideas ?

(There is a netapps directory in git - which seems to include some espconn* files ?)