赞
踩
问题描述:
在使用AsyncWebServer时,需要将web网页存储在esp32开发板的存储空间内,原来使用的是spiffs文件管理系统,当在web中使用jQuery mobile库时,未出现应有的效果。原因是spiffs文件系统为平面式文件管理结构(即没有文件夹),同时spiffs对文件名长度也有限制,而jQuery mobile库为多层次文件夹,大部分文件为长文件名。估计是在使用spiffs文件管理系统上传jQuery mobile库或读取中出现了问题。
基于以上情况,决定改用littlefs文件管理系统。下载esp32的littlefs库文件和文件上载工具esp32fs.jar,并拷贝esp32fs.jar到C:\Users\me\Documents\Arduino\tools\ESP32FS\tool(me替换成你的用户名)文件夹下替换原来spiffs的上载工具esp32fs.jar,启动Arduino上传文件,出现“LittleFS Error: mklittlefsnot found!”错误。
搜索解决办法:
通过baidu分别找到这几篇相关文章:
Install ESP8266 NodeMCU LittleFS Filesystem Uploader in Arduino IDE | Random Nerd Tutorials
LittleFS Error: mklittlefs not found!
Installing — ESP8266 Arduino Core 3.1.2-14-g521ae60a documentation
其中最简单的解决办法就是卸掉Arduino IDE并删除C:\Users\me\AppData\Local\Arduino15目录并重新安装IDE和开发板。于是卸载、删除Arduino15、重装,但安装esp32开发板时,由于科学的原因,多次下载不顺导致出错。后来,按照《arduino的esp32环境搭建(不需要翻墙,不需要离线安装》arduino的esp32环境搭建(不需要翻墙,不需要离线安装)这篇文章,用迅雷下载各相关文件,操作如下:
用迅雷到https://dl.espressif.com/dl/package_esp32_index.json下载package_esp32_index.json文件;
打开package_esp32_index.json,这个json文件定义了开发板主文件和依赖文件,包括对应的版本、适用的操作系统等。按照json文件提示,依次下载esp32-1.0.6.zip主文件和依赖文件xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip、esptool-3.0.0.2-windows.zip、mkspiffs-0.2.3-arduino-esp32-win32.zip(在package_esp32_index.json中其name分别对应为xtensa-esp32-elf-gcc、esptool_py、mkspiffs),然后拷贝到C:\Users\me\AppData\Local\Arduino15\staging\packages中,重启Arduino,Arduino经过一段时间的自动配置,启动成功。测试编译,上载文件还是出现原来的问题。
通过查看下载的文件,没有发现与littlefs相关的文件,在package_esp32_index.json文件中也没有littlefs相关的数据条目,于是怀疑是package_esp32_index.json定义的esp32的版本太低,其版本为esp32-1.0.6。
经过网上搜索,找到esp32-2.0.6对应的json文件地址:https://github.com/espressif/arduino-esp32/releases/download/2.0.6/package_esp32_dev_index.json
https://github.com/espressif/arduino-esp32/releases/download/2.0.6/package_esp32_index.json
将这两个地址拷贝到Arduino IDE的首选项中,通过 IDE自行安装开发板多次下载失败,决定还是用迅雷手动下载各相关文件,具体操作是:
2、使用记事本打开package_esp32_dev_index.json,找到platforms节点中的第一个子节点,即对应"name"为"esp32"、"version"为"2.0.6",的esp32版本,其"url"为"https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip",拷贝该地址到迅雷下载esp32-2.0.6.zip;
- "platforms": [
- {
- "name": "esp32",
- "architecture": "esp32",
- "version": "2.0.6",
- "category": "ESP32",
- "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip",
- "archiveFileName": "esp32-2.0.6.zip",
- "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351",
- "size": "264579419",
- "help": {
- "online": ""
- },
3、找到"name"为"esp32"、"version"为"2.0.6"版本下的toolsDependencies子节点,这个数据节点下一共有八个子节点数据项,他们的"name"分别是:riscv32-esp-elf-gcc、xtensa-esp32-elf-gcc、xtensa-esp32s2-elf-gcc、xtensa-esp32s3-elf-gcc、esptool_py、openocd-esp32、mkspiffs、mklittlefs,八个子节点数据项下还有对应的版本号,最好将toolsDependencies节点拷贝出来以便找到这些文件对应的地址。
- "toolsDependencies": [
- {
- "packager": "esp32",
- "name": "riscv32-esp-elf-gcc",
- "version": "gcc8_4_0-esp-2021r2-patch5"
- },
- {
- "packager": "esp32",
- "name": "xtensa-esp32-elf-gcc",
- "version": "gcc8_4_0-esp-2021r2-patch5"
- },
- {
- "packager": "esp32",
- "name": "xtensa-esp32s2-elf-gcc",
- "version": "gcc8_4_0-esp-2021r2-patch5"
- },
- {
- "packager": "esp32",
- "name": "xtensa-esp32s3-elf-gcc",
- "version": "gcc8_4_0-esp-2021r2-patch5"
- },
- {
- "packager": "esp32",
- "name": "esptool_py",
- "version": "4.2.1"
- },
- {
- "packager": "esp32",
- "name": "openocd-esp32",
- "version": "v0.11.0-esp32-20220706"
- },
- {
- "packager": "esp32",
- "name": "mkspiffs",
- "version": "0.2.3"
- },
- {
- "packager": "esp32",
- "name": "mklittlefs",
- "version": "3.0.0-gnu12-dc7f933"
- }
- ]
- },

4、在package_esp32_dev_index.json中依次按照依赖文件的"name"以及其对应的"version"查找与esp32-2.0.6版对应依赖文件的下载地址。例如查找“riscv32-esp-elf-gcc”找到"tools"节点下的"name": "riscv32-esp-elf-gcc"、其"version": "gcc8_4_0-esp-2021r2-patch5",注意,版本号一定要与toolsDependencies子节点中对应版本号相同,按照操作系统对应的"host"如"host": "i686-mingw32"或"host": "x86_64-mingw32",拷贝 "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip",用迅雷下载。我是将"host"为 "i686-mingw32"和"x86_64-mingw32"下的文件都下载了的,总共下载了14个文件。
- "tools": [
- {
- "name": "riscv32-esp-elf-gcc",
- "version": "gcc8_4_0-esp-2021r2-patch5",
- "systems": [
- {
- "host": "x86_64-pc-linux-gnu",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz",
- "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f",
- "size": "192388486"
- },
- {
- "host": "aarch64-linux-gnu",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz",
- "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af",
- "size": "188626914"
- },
- {
- "host": "arm-linux-gnueabihf",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz",
- "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799",
- "size": "188624050"
- },
- {
- "host": "i686-pc-linux-gnu",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz",
- "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb",
- "size": "194606113"
- },
- {
- "host": "x86_64-apple-darwin",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz",
- "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839",
- "size": "199411930"
- },
- {
- "host": "i686-mingw32",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip",
- "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f",
- "size": "257844437"
- },
- {
- "host": "x86_64-mingw32",
- "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip",
- "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip",
- "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4",
- "size": "259712666"
- }
- ]
- },

5、拷贝下载的文件到C:\Users\me\AppData\Local\Arduino15\staging\packages中,重启Arduino,Arduino经过一段时间的自动系统配置,启动成功。测试编译,上载文件正常。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。