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分区启动

 

posted @ 2025-02-12 00:19  mcwhirr  阅读(210)  评论(0)    收藏  举报