fatal error programming flash on custom board
Posted: Tue Jul 26, 2016 9:03 am
I am trying to bring up a custom board using the ESP8266EX. The hardware behavior seems to be solid but I am encountering the following fatal error when attempting to program the flash using esptool.py:
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> make flash
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin
Connecting...
Erasing flash...
Took 0.13s to erase flash block
Writing at 0x00000000... (3 %)
A fatal error occurred: Failed to write to target Flash after seq 0 (got result 0x1, 0x8)
Makefile:134: recipe for target 'flash' failed
I can successfully read chip ID and flash ID:
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 chip_id
Connecting...
Chip ID: 0x0002616a
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id
Connecting...
Manufacturer: bf
Device: 258e
However, I noticed that I can only read the flash ID once, and then I get this on the second try:
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id
Connecting...
A fatal error occurred: Failed to connect to ESP8266
I thought that possibly the flash device on the board is somehow not compatible with the ESP8266EX, so I tried replacing it with a device from a working module. With that device I receive the same behavior, except that the flash ID is different.
I probed the SPI signals between the processor and flash; they look clean to me. Here are a couple of screenshots from my scope:
Any suggestions or help you can provide would be greatly appreciated.
Thanks.
--ken
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> make flash
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin
Connecting...
Erasing flash...
Took 0.13s to erase flash block
Writing at 0x00000000... (3 %)
A fatal error occurred: Failed to write to target Flash after seq 0 (got result 0x1, 0x8)
Makefile:134: recipe for target 'flash' failed
I can successfully read chip ID and flash ID:
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 chip_id
Connecting...
Chip ID: 0x0002616a
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id
Connecting...
Manufacturer: bf
Device: 258e
However, I noticed that I can only read the flash ID once, and then I get this on the second try:
saturn:~/work/blelink/esp-open-sdk/source-code-examples/tango1_test> esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id
Connecting...
A fatal error occurred: Failed to connect to ESP8266
I thought that possibly the flash device on the board is somehow not compatible with the ESP8266EX, so I tried replacing it with a device from a working module. With that device I receive the same behavior, except that the flash ID is different.
I probed the SPI signals between the processor and flash; they look clean to me. Here are a couple of screenshots from my scope:
Any suggestions or help you can provide would be greatly appreciated.
Thanks.
--ken