如何在ESP8266中检索Flash二进制文件

时间:2018-12-25 08:52:32

标签: esp8266 micropython flashing

我能够烧录一个我六个月前交叉编译的micropython二进制文件,它工作正常。它是在那时从master分支构建的,我没有保存代码,也没有保存二进制文件。

今天,当我再次编译时,二进制文件有时出现问题。因此,我想恢复到旧的二进制文件,唯一的问题是我不确定在大约6个月前创建了可以正常工作的已编译二进制文件时主机的提交ID / build。

我确实有一个ESP,其中包含二进制文件。所以我在想是否有办法从ESP中检索二进制文件?

请让我知道是否可以通过ampy等方式完成此操作。 或建议我一些解决方法。我已经在尝试寻找大约那个时间的提交,并且会再次交叉编译,我不确定是否会按预期工作。

2 个答案:

答案 0 :(得分:0)

无论您将哪种固件加载到ESP8266模块(NodeMCU,MicroPython,Arduino等)中,都可以使用esptool.py将Flash内容转储到文件中,如下所示:< / p>

./esptool.py -p PORT -b 460800 read_flash 0 0x200000 flash_contents.bin

read_flash是命令,0x200000是内存上限(2MB)的参数。

答案 1 :(得分:0)

我降低了读取esp8266闪存的速度 460800为“ 46080”,我为零。 成功

我的系统是Windows 10

C:\ Users \ POSITIVO \ Downloads \ esptool-master \ esptool-master> esptool.py -p COM6 -b 46080 read_flash 0 0x400000 flash_contents3.bin esptool.py v3.0-dev 串口COM6 正在连接...。 检测芯片类型... ESP8266 芯片是ESP8266EX 功能:WiFi 晶体为26MHz MAC:2c:3a:e8:42:b9:f7 上载存根... 正在运行存根... 存根正在运行... 4194304(100%) 4194304(100%) 在937.7秒(35.8 kbit / s)中以0x0读取4194304字节... 通过RTS引脚进行硬重置...