【发布时间】:2018-11-02 22:00:51
【问题描述】:
我遵循了 Marcel Stor 的详细说明https://hub.docker.com/r/marcelstoer/nodemcu-build/ 并创建了一个 nodemcu bin 文件,我以与我目前使用的 frigtanic 云构建服务类似的方式将其闪存到我的 ESP8266。
创建的bin文件是nodemcu_float_dev_20181102-1149.bin
为了构建它,我将 nodemcu/nodemcu-firmware 的 dev 分支的副本分叉到我的 GitHub 帐户,并使用 GitHub Desktop 将副本克隆到本地存储库。在user_modules.h 中,我定义了一些模块,并在user_config.h 中使用#define FLASH_4M 和#define FLASH_AUTOSIZE 尝试了一些选项。
我在闪烁之前完全擦除了 ESP8266。闪烁后,我没有收到正常的格式化消息,然后是指示 NodeMCU 版本以及构建中包含的模块的启动信息。
我只得到以下后跟垃圾:
ets Jan 8 2013,rst cause:1, boot mode:(3,6)
load 0x40100000, len 30104, room 16
tail 8
chksum 0xa9
load 0x3ffe8000, len 2236, room 0
tail 12
chksum 0x48
ho 0 tail 12 room 4
load 0x3ffe88bc, len 8, room 12
tail 8
chksum 0x56
csum 0x56
我使用最新的 Espressif ESP8266 下载工具并将 bin 文件刷写到 0x00000,并尝试将 0x00000.bin 和 0x10000.bin 文件刷写到正确的地址。该工具自动检测闪存大小为 32Mbit (4MB)。
任何解决此问题的帮助将不胜感激。
【问题讨论】:
-
这个问题可以在qemu中重现吗? (我问是因为模拟器内的复制器会显着增加能够复制问题和/或测试答案的人数;需要等待微控制器从中国发货的minimal reproducible example 的门槛很高)。