ESP32 分区表 |
您所在的位置:网站首页 › 手表固件是什么 › ESP32 分区表 |
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 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |