Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By cnlohr
#53954 Ok - figured I should say now. Not everything's figured out, but most of the weirdness was due to my stack growing too large. Still not burning correctly, but at least it's not freezing and freaking out.
User avatar
By forlotto
#53955 There is a start thanks for the update. Good luck on your quest! :P
User avatar
By cnlohr
#53957 New update:

I can read all the data back using esptool.py

Code: Select all/home/cnlohr/esp8266/esp-open-sdk/esptool/esptool.py -b 1000000 --port /dev/ttyUSB0 read_flash 0x00000 65536 test.bin


and everything is flawless! Every byte in its place.

Also, curiously, if I try programming the ESP8285 using DIO mode (instead of DOUT) on esptool.py, I get exactly the same boot error as I'm getting when I program it. Could the internal functions be using DIO mode?
User avatar
By wififofum
#54020
NOTE:(IMPORTANT!)
The spi settings in the flash download tool will overwrite the setting during the compile procedure(at first serveral bytes from 0x0).
Make sure the settings are accord with the compile procedure.
The original binary will not be changed.
You can find the configured binaries in FLASH_DOWNLOAD_TOOLS/bin_tmp after the download is finished.
Especially for bootvxx.bin, it will not change and keep default settings for spi mode.
Also , you can press "CombineBin" button to get a combined binary which is already set to the mode you choose.

The flash mode are defined in the 2nd and 3rd( count from 0) byte at flash address 0x0.
Bootloader will read this bytes out and changed spi mode and size mode immediately. So this is very important for your production.


Maybe you should diff a flash dump of your method with a successful programming and check for few changed bytes.