ESP32 分区表

您所在的位置:网站首页 手表固件是什么 ESP32 分区表

ESP32 分区表

2024-07-15 09:57| 来源: 网络整理| 查看: 265

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