南昌企业建站系统模板,做旅行的网站,js网站模板免费下载,网站开发技术分析ESP32 分区表
1. 分区表概述
ESP32 针对 flash 进行划分#xff0c;划分为不同的区域用作不同的功能#xff0c;并在flash的 0x8000 位置处烧写了一张分区表用来描述分区信息。
分区表可以根据自己的需要进行配置#xff0c;每一个分区都有其特定的作用#xff0c;可根据…ESP32 分区表
1. 分区表概述
ESP32 针对 flash 进行划分划分为不同的区域用作不同的功能并在flash的 0x8000 位置处烧写了一张分区表用来描述分区信息。
分区表可以根据自己的需要进行配置每一个分区都有其特定的作用可根据自己的需求进行配置以及修改下述以官方例程里面的分区表进行描述。
以以下分区表为例
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x4000,
otadata, data, ota, 0xd000, 0x2000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M,
ota_0, app, ota_0, 0x110000, 1M,
ota_1, app, ota_1, 0x210000, 1M,对应的 flash 布局如下
partition_tables 分区存储描述 flash 分区信息的分区表nvs 分区非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据使用方法参考非易失性存储 (NVS) 库otadata 分区记录启动信息描述启动具体哪一个OTA分区phy_init 分区用于存储芯片的PHY有关数据芯片网络有关数据存放在此分区factory 分区工厂程序分区通过串口烧录在芯片内的第一个出厂程序ota_0 分区OTA升级的程序分区ota_1分区OTA升级的程序分区
2. 分区表操作指南
2.1 查找默认分区表
其实每一个程序都有使用分区表我们进入 hello_world 例程路径esp-idf/example/get-started/hello_world执行idf.py build 在编译过程打印的信息中我们可以看到对应的工程分区表配置
那么工程的分区表在哪里呢在hello_world 工程内似乎也没有看到有关分区表的描述文件。
其实这是使用了 IDF 工具目录下的分区表配置了工程
输入idf.py menuconfig 打开menuconfig配置菜单Partition Table 选项下是关于工程分区表的配置 分区表的使用方案总共有四种方案分别是
单个工厂APP分区无OTA分区单个工厂APP分区更大的APP分区无OTA分区工厂APP分区两个OTA分区自定义分区表 关于配置描述可参考CONFIG_PARTITION_TABLE_TYPE
对应的分区表存放在 IDF 目录下的 components/partition_table/目录下 2.2 配置自定义分区表
配置自定义的分区表可以首先从 IDF 目录下的 components/partition_table/目录下拷贝一个示例分区表到对应工程目录下 之后配置menuconfig选择自定义分区表 指定自定义分区表名称 3. 参考文档
ESP32 分区表描述ESP32 分区表分区表配置描述CONFIG_PARTITION_TABLE_TYPE