当前位置: 首页 > news >正文

ESP32-menuconfig(4) -- Partition Table

文章目录

  • CONFIG_PARTITION_TABLE_TYPE
    • Single factory app, no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP)
    • Single factory app (large), no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE)
    • Factory app, two OTA definitions (CONFIG_PARTITION_TABLE_TWO_OTA)
    • Two large size OTA partitions (CONFIG_PARTITION_TABLE_TWO_OTA_LARGE)
    • Custom partition table CSV (CONFIG_PARTITION_TABLE_CUSTOM)
  • 其实在官方文档里,提供的选项更多

PS:(狗头保命,翻译来自AI,因为量大,所以和我项目无关的内容我基本只复制了,没有验证对不对)
在这里插入图片描述
分区表算是最常用的一个功能了,这块AI翻译抽风,而我在这块又踩了不少坑

CONFIG_PARTITION_TABLE_TYPE

功能:选择分区表类型。
在这里插入图片描述
这里默认提供了五个选项,分别是:

Single factory app, no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP)

这是默认的分区表,设计用于 2MB 或更大容量的闪存,包含一个 1MB 的应用分区。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_singleapp.csv

此分区表不适用于需要 OTA(空中升级)功能的应用。

Single factory app (large), no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE)

这是默认分区表的一个变体,将 1MB 的应用分区大小扩展到 1.5MB,以容纳更多代码。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_singleapp_large.csv

此分区表不适用于需要 OTA(空中升级)功能的应用。

Factory app, two OTA definitions (CONFIG_PARTITION_TABLE_TWO_OTA)

这是一个基本的支持 OTA 的分区表,包含一个工厂应用分区和两个 OTA 应用分区。所有分区均为 1MB,因此此分区表需要 4MB 或更大容量的闪存。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_two_ota.csv

Two large size OTA partitions (CONFIG_PARTITION_TABLE_TWO_OTA_LARGE)

这是一个基本的支持 OTA 的分区表,包含两个 OTA 应用分区。每个应用分区大小均为 1700K,因此此分区表需要 4MB 或更大容量的闪存。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_two_ota_large.csv

Custom partition table CSV (CONFIG_PARTITION_TABLE_CUSTOM)

指定项目要使用的分区表 CSV 的路径。
有关更多信息,请参阅《ESP-IDF 编程指南》中的 “分区表” 部分。

其实在官方文档里,提供的选项更多

在这里插入图片描述
不过这些选项在menuconfig里都没有提供,应该需要手动添加

在这里面,对于外挂了更大flash的模块或者开发板,一般来说,最后都会走到使用Custom partition table CSV的路上,这块内容可以在以下链接查看
分区表 - ESP32 - — ESP-IDF 编程指南 v5.5 文档
底下的那部分内容,因为我也没有用过,所以就把AI翻译的内容直接贴上来不做整理了

在这里插入图片描述

http://www.lryc.cn/news/614435.html

相关文章:

  • Web Worker 性能革命:让浏览器多线程为您的应用加速
  • ChipCamp探索系列 -- 1. Soft-Core RISC-V on FPGA
  • 【10】C#实战篇——C# 调用 C++ dll(C++ 导出函数、C++导出类)
  • 华清远见25072班C语言学习day5
  • Advances and Challenges in Foundation Agents--Memory调研
  • WPF 双击行为实现详解:DoubleClickBehavior 源码分析与实战指南
  • 基于ffmpeg和rk3588的mpp编解码库多路融屏程序设计
  • 贝叶斯定理 vs 条件概率
  • Redis(⑤-线程池隔离)
  • 【从0到1制作一块STM32开发板】6. PCB布线--信号部分
  • React函数组件灵魂搭档:useEffect深度通关指南!
  • 如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?
  • 三相交流电机旋转磁场产生原理
  • Django模型开发全解析:字段、元数据与继承的实战指南
  • Flutter开发 多孩子布局组件
  • [202403-B]算日期
  • 蓝桥杯----大模板
  • V4L2摄像头采集 + WiFi实时传输实战全流程
  • FreeRTOS入门知识(初识RTOS)(一)
  • Chat GPT5功能
  • 使用 Gulp 替换 XML 文件内容
  • 明厨亮灶场景下误检率↓76%:陌讯多模态融合算法实战解析
  • Ignite节点生命周期钩子机制详解
  • 基于Spring Boot的Minio图片定时清理实践总结
  • 如何使用Databinding实现MVVM架构
  • GPT5新功能介绍以及和其他模型对比
  • InfluxDB漏洞:Metrics 未授权访问漏洞
  • 借助Rclone快速从阿里云OSS迁移到AWS S3
  • 【数据结构】哈希扩展学习
  • 在 Mac 上安装 IntelliJ IDEA