我使用带有SPIFFS的ESP8266 Arduino来存储配置设置。
此命令用于将二进制firmware.bin闪烁到Arduino的ESP8266中。
esptool.exe -cd nodemcu -cb 115200 -cp COM3 -ca 0x00000 -cf firmware.bin
该命令用于刷新二进制固件。使用SMING框架导入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 flash下载的命令中有一些令人困惑的方面。
为什么没有一个单独的bin文件用于Arduino的SPIFFS ?我注意到在编译bin文件时没有使用esp8266toolsmkspiffs文件夹中的工具"mkspiffs.exe"。为什么不使用它?
Arduino esptool如何知道哪个地址用于分配到SPIFFS文件系统地址?
我想了解编程二进制文件的过程,因为我遇到了SPIFFS与ESP8266 Arduino的奇怪行为。我对使用SMING框架的类似固件没有问题。我想知道问题是否由固件如何使用esptool闪存到ESP8266引起的。
我使用的是eclipse Arduino IDE。当您创建一个新项目时,您可以指定代码区域和SPIFFS区域有多大。例如,对于使用4MB闪存的NodeMCU板,我选择1MB代码/3MB SPIFFS。这就是arduino esptool如何知道SPIFFS的起始地址。
在SMING中,SPIFFS的起始地址是手动指定的