ESP32原生开发——SPIFFS食用指南 1分区表
ESP32-S3的SPIFFS文件系统
| 存储器类型 | 描述 | 容量 |
| ROM | 用于存储固定的程序代码和数据 | 384KB |
| SRAM | 用于存储运行时的程序数据(多核心可以共享数据) | 512KB |
| RTC SRAM | 在深度睡眠模式下仍然保持数据 | 16KB |
| 外部存储器 | ||
| PSRAM | 片外用于存储运行时的程序数据 | 最大16MB |
| 特殊存储器 | ||
| RTC FAST memory | 可以作为指令存储器也可以作为数据存储器进行访问 | |
| RTC Slow memory | 从深度睡眠模式唤醒后必须要运行的代码要放在 RTC 存储器中 | |
| SPI Flash | 片外通过 SPI接口外接 | 最大16MB |
| SD Card(SD卡 |
所以这里主要讲如何利用SPI Flash进行开发
Flash分区表
ESP32-S3 的 Flash 存储器,它被划分为多个分区,每个分区都有特定的用途。
而Flash分区表它定义了 Flash 存储器的布局。Flash 分区表中的每个条目都描述了一个分区的属性,包括其在 Flash 中的位置(偏移量)、大小、类型、以及其他一些属性。
如何配置分区表
在使用分区表时,最简单的方法就是打开项目配置菜单(idf.py menuconfig),并在 CONFIG_PARTITION_TABLE_TYPE 下选择一个预定义的分区表:
“Single factory app, no OTA”
“Factory app, two OTA definitions”
那么如何打开idf.py menuconfig呢???

先获取项目目录
C:\Espressif\frameworks\esp-idf-v5.3.1>cd C:\Users\smart\workspace\LVGL1
然后,切换目录
cd C:\Users\smart\workspace\LVGL1
然后直接
idf.py menuconfig
会有如下古早味界面

configure table

这里

查看当前分区表
点击然后创建新terminal

如之前所述切换吗目录到本地,执行:
idf.py partition-table

即可查看分区表
这里我使用的Single factory app, no OTA分区表

毕竟是csv文件由逗号分隔符分割
这是其它文章的分区表,Factory app,two OTA definition

Factory app, two OTA definitions相比Single factory app, no OTA多了otadata,ota_0,ota_1这三个分区
这三个分区在 ESP32-S3 的 OTA(Over-The-Air)更新机制中起着重要的作用。它们三个共同支持 ESP32-S3 的 OTA 更新功能,使设备能够在固件正常运行时根据接收数据(如通过 Wi-Fi 或蓝牙)进行自我更新。
ESP32-S3启动时 启动加载器会查询 “otadata” 分区的数据,以判断该从哪个 OTA 应用程序分区加载程序,如果不存在 “otadata” 分区则会从factory分区启动
浙公网安备 33010602011771号