2

hello everybody:) I built a firmware with cloud build service. The firmware is master and includes "adc, file, gpio, http, mqtt, net, node, ow, spi, tmr, uart, wifi" and also supports SSL. Using ESP 07 and the previous version of firmware was nodeMCU 0.9.6 and that was correctly worked but didn't support some modules that i need. To flash the firmware, i use NodeMCU flasher with these setting: flasher setting

I upload the binary firmware file to address 0x00000 and esp_init_data_default.bin which is from ESP8266_NONOS_SDK_V1.5.4.1 (downloaded from nodemcu website) to address 0x7c000. After finishing the upload, module very actively prints garbage on the console. I uploaded nodeMCU 0.9.6 again to check if the problem is because of the way i flashed firmware, but it wasn't. The module worked with uploaded nodeMCU 0.9.6 well.

Thank you very much:)

hoody
  • 43
  • 4

3 Answers3

0

ESP-07 is a 512KB module. Hence,

  • flash mode is qio
  • flash size is 512KB

All the required settings are documented at http://nodemcu.readthedocs.io/en/latest/en/flash/.

So, using esptool.py the command is as follows:

esptool.py --port <serial-port-of-ESP8266> write_flash -fm qio -fs 4m 0x00000 <nodemcu-firmware>.bin 0x7c000 esp_init_data_default.bin

The esp_init_data_default.bin is contained in http://bbs.espressif.com/download/file.php?id=1572 as the documentation linked above explains.

Marcel Stör
  • 22,695
  • 19
  • 92
  • 198
  • Thank you Marcel, but as I said, with this seetings I uploaded nodemcu 0.9.6 again and it worked correctly! Therefore I guess there is no problem in the settings! Although I changed settings to what you said, still doesn't work correctly! – hoody Sep 17 '16 at 08:05
  • Each version of the Espressif SDK (upon which the NodeMCU firmware is built) uses different init data and behaves differently. Going back to 0.9.6 might work but it's not an option in the long run because that version is so outdated and contains lots of bugs. The NodeMCU flasher is a problem in itself because it's unmaintained. I suggest you use esptool.py instead. I updated the answer. – Marcel Stör Sep 18 '16 at 20:23
  • Thank you Marcel for your helps!I checked it with esptool and again it didn't work! – hoody Sep 21 '16 at 11:18
0

I was facing the same issue. I did the following steps, which solved my issue. 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
0

You mentioned that garbage was printed to console. This can be an indication of mismatched serial port parameters. It's probably worth spending a couple of minutes playing around working through the speed/parity settings of the tool you are using to display the serial output. Try using Putty or Coolterm for "raw" output as these apps do not try and interpret the response.

mhaselup
  • 228
  • 2
  • 9