nodemcu自定义固件编译问题

大家好:) 我使用云编译服务构建了一个固件。该固件是主版本并包括 "adc, file, gpio, http, mqtt, net, node, ow, spi, tmr, uart, wifi" 并且支持 SSL。 我使用ESP 07,以前的固件版本是nodeMCU 0.9.6,它工作得非常好,但不支持我需要的一些模块。 为了刷写固件,我使用了NodeMCU刷写器,并使用了以下设置: 刷写器设置

我将二进制固件文件上传到了地址0x00000和来自ESP8266_NONOS_SDK_V1.5.4.1(从nodemcu网站下载的)的esp_init_data_default.bin文件上传到了地址0x7c000。 上传完成后,模块在控制台上非常活跃地输出垃圾。 为了检查问题是否因为我刷写固件的方式,我重新上传了nodeMCU 0.9.6,但问题并没有解决。该模块使用上传的nodeMCU 0.9.6正常工作。

非常感谢:)

点赞
用户131929
用户131929

ESP-07是一个512KB的模块。因此,

  • flash模式是qio
  • flash大小为512KB

所有必需的设置都记录在http://nodemcu.readthedocs.io/en/latest/en/flash/中。

因此,使用esptool.py,命令如下:

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

esp_init_data_default.bin包含在http://bbs.espressif.com/download/file.php?id=1572中,就像上面链接的文档所解释的那样。

2016-09-15 13:47:32
用户7306548
用户7306548

我遇到了同样的问题。我采取了以下步骤,解决了我的问题。

在刷入新固件之前,请确保您的芯片已完全擦除。您可以使用下面的命令,其中“ESP8266的串口”可能会有所不同:

esptool.py --port <ESP8266的串口> erase_flash

然后使用与刷写nodeMCU 0.9.6相同的技术将固件刷入芯片中。您可以参考下面的命令,这是我用于刷写的。

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

你提到有垃圾信息被打印到控制台。这可能是串口参数不匹配的标志。值得花费几分钟来测试调整显示串口输出的工具(如速率/奇偶校验位等设置)。试试使用Putty或Coolterm进行“原始”输出,因为这些应用程序不会尝试解释响应。

2017-06-04 06:48:46