1

我正在使用带有 SPIFFS 的 ESP8266 Arduino 来存储配置设置。

此命令用于将二进制固件.bin 刷入 ESP8266 for Arduino。

esptool.exe -cd nodemcu -cb 115200 -cp COM3 -ca 0x00000 -cf firmware.bin

该命令用于使用 SMING 框架将二进制固件.nin 刷入 ESP8266。

esptool.exe -p COM3 -b 115200 write_flash -ff 40m -fm dio -fs 4m 0x00000 0x00000.bin 0x09000 0x09000.bin 0x44000 spiff_rom.bin

用于 Arduino 闪存下载的命令有一些令人费解的方面。

  • 为什么 Arduino 的 SPIFFS 没有单独的 bin 文件?我注意到在编译 bin 文件期间未使用 esp8266\tools\mkspiffs 文件夹中的工具“mkspiffs.exe”。为什么不使用它?

  • Arduino esptool 如何知道使用哪个地址分配给 SPIFFS 文件系统地址?

我想了解编程二进制文件的过程,因为我遇到了带有 ESP8266 Arduino 的 SPIFFS 的奇怪行为。我对使用 SMING 框架的类似固件没有任何问题。我想知道问题是否是由如何使用 esptool 将固件刷新到 ESP8266 引起的。

4

1 回答 1

0

我正在使用 Eclise Arduino IDE。当您创建一个新项目时,您可以指定 - 代码区域和 SPIFFS 区域有多大。例如,对于使用 4MB 闪存的 NodeMCU 板,我选择 1MB 代码/3MB SPIFFS。这就是 arduino esptool 知道 SPIFFS 起始地址的方式。

在 SMING 中,SPIFFS 的起始地址是手动指定的。

于 2016-09-30T06:58:43.477 回答