ESP8622 with NodeMCU firmware starts blinking after flashing new version of firmware (old builds are working)

狂风中的少年 提交于 2019-12-01 08:44:26

I'm quite certain you're missing two points explained in the NodeMCU flashing docs:

  • esptool.py write_flash options
  • flashing the correct Espressif init data

Assuming you've got a 4MB device such as ESP-12E / WeMos D1 mini / NodeMCU devkit v2 (comparison) the write_flash options are -fm dio -fs 32m.

You're likely upgrading from an older NodeMCU version. Therefore, you need to flash esp_init_data_default.bin to the right memory address.

Hence, the full flash command should be something like that:

esptool.py --port /dev/cu.wchusbserialfa130 write_flash -fm dio -fs 32m 0x00000 nodemcu-master-13-modules-2016-04-09-12-28-55-float.bin 0x3fc000 esp_init_data_default.bin

Update 2016-10-20

Thanks to a fix in the firmware you won't have to provide the init data yourself anymore, the firmware does it automatically if necessary. Has been available in the dev branch for a few days and will also be on master in early December 2016.

I faced the same issue. I did the following steps, which solved the problem. Before flashing a new firmware, make sure your chip is fully erased. You may use the command below where "serial-port-of-ESP8266" may vary:

esptool.py --port <serial-port-of-ESP8266> erase_flash

Then flash the firmware to the chip using the same technique you use for flashing nodeMCU 0.9.6. You can refer the command below, which is what I used for flashing.

esptool.py --port /dev/ttyACM0 write_flash -fm qio 0x00000 nodemcu-master-8-modules-2016-12-16-09-52-59-float.bin

same problem and resolved with Marcel solution, but please take care about flash options: -fm dio -fs 32m

i was trying without, so only appending the esp_init_data_default.bin, but it doesn't work.

you can check it because esptool shows, just before stating flash, an hexadecimal value Flash params set to 0x0000 (wrong) Flash params set to 0x0240 (fine!)

Tried to get it running but no way for my "WeMos Mini D1" using this line

esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 my-nodemcu.bin 0x3fc000 esp_init_data_default.bin --verify

Answer is:

Wrote 454656 bytes at 0x0 in 39.2 seconds (92.9 kbit/s) 
WARNING: Unlikely to work as data goes beyond end of flash. Hint: Use --flash_size 
Writing 36864 @ 0x3fc000... 16384 (44 %)
A fatal error occurred: Write failure, status: 36'

The image from the cloud build has only 6 options, so its unlikeley that the image is too large.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!