如何使用mkspiffs和esptool正确下载SPIFFS bin

问题描述 投票:0回答:1

我正在开发适用于 esp8266 设备的应用程序生成器工具,无法正确使用 mkspiffs 和 esptool 工具。

我已经阅读了 mkspiffs 和 esptool 的可用文档,还启用了 Arduino IDE 中的详细输出,以查看 Arduino IDE 如何使用这些程序工作,但仍然无法使其正常工作。

在 ESP Core 文档中,有一些有关地址映射的信息(https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html),但我不确定如何根据这个。

我的目标是在 4M 闪存大小的设备上上传应用程序二进制文件和 1M SPIFFS 二进制文件。

这就是我现在的处境:

  • 我使用“arduino-clicompile”来构建我的应用程序二进制文件。有一个输出箱,我可以上传它,它似乎工作正常。在 fqbn 中,我使用的是在构建应用程序时从 Arduino IDE 的详细输出中复制的属性(还启用了一些调试)。

  • 我使用 mkspiffs 创建 SPIFFS 二进制文件。我不确定它是否 100% 正确,但有一个输出二进制文件,我可以列出它并使用 mkspiffs 解压它。大小、页面和块大小参数也取自 Arduino IDE 详细输出。

  • 我使用 esptool 上传应用程序和 SPIFFS 二进制文件。

所有这些命令都运行并返回 0,所以看起来没问题。

  • 应用程序bin的构建命令:

    arduino-cli.exe compile --fqbn=esp8266:esp8266:d1_mini:xtal=80,vt=flash,exception=disabled,eesz=4M1M,ip=lm2f,dbg=Serial,lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOM,wipe=none,baud=921600 C:\codefolder --build-path C:\app_output.bin

  • 构建 SPIFFS 二进制文件的命令:

    mkspiffs -c C:\datafolder -b 8192 -p 256 -s 0xFB000 C:\spiffs_output.bin

  • 上传这些bin的命令:

    esptool.exe --port COM1 --baud 512000 write_flash 0x000000 app_output.bin 0x300000 spiffs_output.bin

ESP8266 上的应用程序运行正常,SPIFFS 挂载,但 ESP8266 上运行的应用程序找不到任何文件。我怎样才能正确地做到这一点?

arduino-esp8266 esptool
1个回答
0
投票

这里是一个建议/评论(4年后找到你的帖子......),因为它还没有给出解决方案,但强调了一些令人惊讶的事情。 请注意,此评论来自 *nix 用法,可能在您的平台上有所不同,但也许不是,我没有任何 Microsoft Windows 可以尝试。

当您使用

arduino-cli
构建应用程序时,参数
--build-path
期望一个目录来放置所有构建文件,包括“最终”二进制文件,该目录应该是
C:\app_output.bin\<your_application_ino_filename>.bin

然后在

esptool.exe --port COM1 --baud 512000 write_flash 0x000000 app_output.bin 0x300000 spiffs_output.bin
中你应该有
C:\app_output.bin\<your_application_ino_filename>.bin
而不是
app_output.bin
类似的东西(同样,这就是它在 *nix 下的工作方式):

esptool.exe --port COM1 --baud 512000 write_flash 0x000000 C: pp_output.bin.bin 0x300000 spiffs_output.bin

请注意,您只能使用以下方式刷新 SPIFFS 数据:

esptool.exe --端口 COM1 --波特率 512000 write_flash 0x300000 spiffs_output.bin

这是我没有得到你的评论的地方,也许命令只是失败了并且核心正在运行之前闪烁的二进制文件......无论如何,这令人惊讶。

也许尝试在执行任何操作之前擦除整个闪存

esptool.exe --端口 COM1 擦除_flash

© www.soinside.com 2019 - 2024. All rights reserved.