ESP32中的分区表
一、esp-idf默认分区表
本节大部分内容都是摘自乐鑫官方的资料,并以口语化描述出来并进行简化,如果大家想要获得最全面的资料,可以访问如下网站:
分区表 - ESP32 - — ESP-IDF 编程指南 latest 文档
为什么ESP32需要分区表?ESP32的程序不是一般的程序,会把整包程序划分很多的区间,然后把这些区间的内容烧录到flash去,这样对我们大工程也较好管理,功能更清晰。先来看下在esp-idf中提供的一个最简单默认分区表有什么内容
打开esp-idf/components/partition_table/partitions_singleapp.csv,内容如下:

#号后面是注释,不参与实际内容,大家主要看标出的那5列,列头分别是Name、Type、SubType、Offset、Size。
逐个分析
Name: 表示分区名称(并不重要)
Type:表示分区类型,可选值有app、data,用户还可以自定义写 0x40-0xFE
app一般用于表示运行程序
data一般用于表示存储数据
SubType:表示子类型,与类型有关,当Type定义为 app 时,SubType 字段可以指定为 factory (0x00)、 ota_0 (0x10) … ota_15 (0x1F) ;当Type定义为 data 时,SubType字段可以指定为 ota (0x00)、phy (0x01)、nvs (0x02)、nvs_keys (0x04) 或者其他组件特定的子类型。
Offset:表示在Flash中的偏移地址
Size:表示分区总大小
现在我们基本知道这个文件的内容框架了,我们现在开始分析具体内容。
先看第三行nvs
nvs表示非易失存储区,掉电之后数据依然保存。在ESP32中预留了一块NVS区域,专门用于存储如下内容
1)用于存储每台设备的PHY校准数据(注意,并不是PHY初始化数据)。
2)用于存储Wi-Fi 数据(如果使用了 esp_wifi_set_storage(WIFI_STORAGE_FLASH) 初始化函数)。
3)其他应用程序数据。&nb

最低0.47元/天 解锁文章
1万+





