mcgr3g0r wrote:Well, that might have been a wrong preassumption about wiping entire flash (by esptool.py), but since flashing just 0x00000.bin and 0x400000.bin did not work as opposed to adding blank areas and esp_init_data_default.bin to appropriate flash areas it needs to be noted that there is something wrong with flashing process when the files are separated. Maybe it is related with erase page size padded to some size like 1K,4K, etc. that causes unwanted memory area erasure.
Greetings,
McGr3g0r
That's rather strange. I uploaded stuff to the chip many hundreds of times by now. Large as well as small stuff, and never had any problem. Check that you use the proper addresses and linker script. That is, the addresses/regions in the linker script must match where you upload it later on. There are several linker scripts, two of them for the OTA update which use different memory layouts and require an additional bootloader as well.
Not sure how the ESP handles it, but on many micros an "empty" memory word will be interpreted as a NOP, so it may be that you have linked the code in a way that it ends up at the wrong address, the bootloader jumping into one of the empty regions, doing a lot of NOP's before hitting the actual code?
Greetings,
Chris