我在尝试刷新最新开发固件时遇到了一些困难。我用cli中的一堆复制/粘贴示例编辑了这个问题,并澄清了我迄今为止采取的步骤。以下是我尝试过的事情:
我尝试使用此命令刷新1.4.0主版本:
python esptool.py --port /dev/ttyUSB0 write_flash -fm=dio -fs=32m 0x00000 ~/git/nodemcu-
firmware/bin/nodemcu_integer_1.4.0_master_20160531.bin
esptool.py v1.0.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0240
Writing 405504 @ 0x0... 405504 (100 %)
Wrote 405504 bytes at 0x0 in 35.2 seconds (92.2 kbit/s)...
Leaving...
这似乎成功,因为我可以连接到devkit
n?$B�
��4"*���4"*��B%,��� C�
NodeMCU custom build by frightanic.com
branch: master
commit: c8037568571edb5c568c2f8231e4f8ce0683b883
SSL: false
modules: file,gpio,i2c,net,node,rtcfifo,rtcmem,rtctime,tmr,uart,wifi,ws2812
build built on: 2016-06-01 02:58
powered by Lua 5.1.4 on SDK 1.4.0
lua: cannot open init.lua
>
我下载了espressif sdk的v1.5.1 nonos以获取esp_init_data_default.bin我必须这样做因为devkit运行的是0.9.6
我尝试使用此命令刷新固件的1.4.0 dev版本:
python esptool.py --port /dev/ttyUSB0 write_flash -fm=dio -fs=32m 0x00000 ~/git/nodemcu-firmware/bin/nodemcu_integer_1.4.0_dev_20160531.bin 0x3fc000 ~/git/nodemcu-firmware/bin/esp_init_data_default.bin
esptool.py v1.0.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0240
Writing 401408 @ 0x0... 401408 (100 %)
Wrote 401408 bytes at 0x0 in 34.8 seconds (92.3 kbit/s)...
Writing 4096 @ 0x3fc000... 4096 (100 %)
Wrote 4096 bytes at 0x3fc000 in 0.4 seconds (90.0 kbit/s)...
Leaving...
这似乎失败了,因为当我尝试连接到devkit时,我得到的只是胡言乱语。我试图连接每个波特设置,它似乎没有改善胡言乱语。
rll|l�|l�b|�rbb�nnlnn��bplrlrlp�n�lbn�|l�b�nn�ll`nn
lnr�n
b��`p�n�
r���bn�|llb�nn�l`nnl�l`nr�n
��l``�n
��b�nl�
��nn�
lp�n�
r���lbn�|b�nn�ll`
固件的主版本运行良好,但正如我所说,它缺少了我想要使用的wifi和ws2812模块的一些东西。固件的开发版本会闪存,但是当我尝试使用屏幕连接到devkit时,我得到的是乱码并且Lua提示永远不会出现。我现在放弃了,我不知道下一步该尝试什么,有人可以指导我吗?
感谢您的帮助。
答案 0 :(得分:0)
关于分支和版本的措辞有点令人困惑(至少对我而言)。 dev
基于SDK v1.5.1,而master
则基于1.4.0。
您不需要刷新固件 plus SDK。固件本身就足够了。由于您引用了我们的闪存文档,我假设您正确地使用esptool.py
命令。
值得注意的两件事:
esp_init_data_default.bin
因为字节107舞蹈?如果您因adc.force_init_mode()
而在dev
分支上,则不再需要,我们只需had this yesterday。或者这是因为您以前在设备上有旧的0.9.x固件?如果是,您是否获得了esp_init_data_default.bin
的地址,即与您设备的闪存大小保持一致?dev
中进行了自动波特率检测。我不确定这与screen
有多好。尝试明确设置115&#200;或try ESPlorer。<强>更新强>
请允许我说,我相信你制造的一团糟。此外,我有理由相信你的问题中的报告和输出是全部真相。
dev
这样的东西。 dev
基于SDK 1.5.1,master
使用1.4。~/git/nodemcu-firmware/bin/nodemcu_integer_1.4.0_master_20160531.bin
。这暗示您自己构建固件(使用我的Docker image?)。构建服务生成的文件名使用模式nodemcu-<branch>-<number>-modules-<timestamp>-integer|float
,而我的Docker镜像默认生成类似nodemcu_integer|float_<branch>_<timestamp>
的内容。master
分支加载固件。esp_init_data_default.bin
?我不明白。 NodeMCU flashing docs表示直接从0.9.x升级时只需要esp_init_data_default.bin
- 如果有的话。所以,如果你已经master
(1.4),那么绝对不需要。对不起,真的无能为力。我相信通往成功的道路非常简单:
dev
分支以及所有需要的模块esptool.py --port /dev/ttyUSB0 write_flash -fm=dio -fs=32m 0x00000 nodemcu-dev-N-modules-2016-06-03-<time>-integer.bin
答案 1 :(得分:0)
事实证明,$("#searchByCriteria").submit(function (event) {
$("#gridArea").html("");
$("#gridArea").load(
'@(Url.Action("searchResult", "Maintenance", new { unitCode = Model.UNIT_CD, programCode = Model.PROGRAM_CD}))'
)
});
存在一个错误,使其无法在固件版本1.5及更高版本上与devkit进行通信。要解决此问题,您可以使用putty for linux(如果您使用的是ubuntu,可以从apt-get获得)或将固件降级到1.4
有关详细信息,请参阅SuperUser上的此答案: https://superuser.com/questions/810937/how-can-i-set-the-parity-bits-when-using-screen-to-access-a-serial-port
P.S。我只在armhf编译的二进制文件中确认了这个bug。有可能x86二进制文件工作得很好,因为我还没有测试过,虽然我链接的SuperUser上的Q&amp; A似乎暗示x86上的屏幕也会有问题。