news 2026/10/26 1:56:57

ESP32-S31 分区表的访问流程图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32-S31 分区表的访问流程图

下面是一个比较符合 ESP32-S31/ESP-IDF 架构的启动与分区表关系图。

ESP32-S31 启动流程图

┌──────────────────────┐ │ Power On │ │ 上电复位 │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ ROM Boot │ │ 芯片内部固化代码 │ └──────────┬───────────┘ │ │ 通过 SPI0/1(MSPI) ▼ ┌──────────────────────┐ │ Flash 0x0000 │ │ Bootloader │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ Flash 0x8000 │ │ Partition Table │ │ (分区表) │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ 解析所有分区信息 │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ OTA Data 分区 │ │ 当前激活镜像? │ └───────┬───────┬──────┘ │ │ Factory OTA_0/1 │ │ └───┬───┘ ▼ ┌──────────────────────┐ │ 选择应用分区 │ │ Factory/OTA0/OTA1 │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ MMU建立Flash映射 │ │ 0x42000000(IROM) │ │ 0x3C000000(DROM) │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ Jump To App │ │ app_main() │ └──────────┬───────────┘ │ ▼ ┌──────────────────────┐ │ 应用运行阶段 │ │ │ │ NVS │ │ SPIFFS/LittleFS │ │ User Data │ │ OTA Upgrade │ └──────────────────────┘

Flash分区布局示意图

以 16MB Flash 为例:

Flash 0x000000 │ ├─────────────────────────────┐ │ Bootloader │ │ 约32KB │ └─────────────────────────────┘ 0x008000 ├─────────────────────────────┐ │ Partition Table │ │ 4KB │ └─────────────────────────────┘ 0x009000 ├─────────────────────────────┐ │ NVS │ │ WiFi配置 │ │ SN │ │ Calibration │ └─────────────────────────────┘ 0x00F000 ├─────────────────────────────┐ │ OTA Data │ │ 当前启动镜像信息 │ └─────────────────────────────┘ 0x010000 ├─────────────────────────────┐ │ Factory App │ │ 出厂固件 │ └─────────────────────────────┘ 0x210000 ├─────────────────────────────┐ │ OTA_0 │ │ 当前运行版本 │ └─────────────────────────────┘ 0x410000 ├─────────────────────────────┐ │ OTA_1 │ │ 新下载版本 │ └─────────────────────────────┘ 0x610000 ├─────────────────────────────┐ │ SPIFFS / FATFS │ │ 配置文件 │ │ 图片资源 │ │ 字库资源 │ └─────────────────────────────┘ 0xF00000 ├─────────────────────────────┐ │ User Data │ │ 日志 │ │ 产品信息 │ └─────────────────────────────┘

OTA升级切换流程

当前运行 OTA_0 │ ▼ 下载新固件 到 OTA_1 │ ▼ 校验镜像 │ ▼ 更新 OTA Data │ ▼ 重启 │ ▼ Bootloader 读取分区表 │ ▼ 发现 OTA_1 有效 │ ▼ 启动 OTA_1 │ ▼ 运行成功 ? ┌──┴──┐ │ │ YES NO │ │ ▼ ▼ 保持 回滚 OTA_1 OTA_0

软件访问分区关系

app_main() │ ├── nvs_open() │ │ │ ▼ │ NVS分区 │ ├── esp_ota_begin() │ │ │ ▼ │ OTA_1分区 │ ├── esp_partition_read() │ │ │ ▼ │ User Data分区 │ └── esp_vfs_spiffs_register() │ ▼ SPIFFS分区

一句话理解:

ROM ↓ Bootloader ↓ Partition Table ↓ 选择APP ↓ MMU映射Flash ↓ 运行APP ↓ APP再根据Partition Table访问 NVS / OTA / 文件系统 / 用户数据

所以在 ESP32-S31 中,分区表既是 Bootloader 的“启动导航表”,也是应用软件管理整个 Flash 资源的“目录索引表”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 1:56:55

半导体设备国产化提速:洁净室薄膜开关 ESD 选型的 4 个关键细节

2026 湾区半导体产业生态博览会在深圳开幕,北方华创、中微、拓荆科技、新凯来等国产设备厂商集中亮相。国家发展改革委此前已将刻蚀、薄膜、量检测、先进封装列入短板装备攻关清单,国内晶圆厂正在扩大国产设备的上机测试规模。设备国产化带来一个容易被忽…

作者头像 李华
网站建设 2026/10/26 1:56:08

LiDAR360激光点云处理:LiData转换、航带拼接与地形产品实战

简介:《LiDAR360激光雷达点云数据处理软件用户手册》是一份面向激光雷达测绘、林业调查与电力巡线从业者及遥感测绘专业学生的官方操作文档,帮助读者系统掌握点云数据的处理流程与软件功能。手册围绕航带拼接、数据管理、统计分析、分类、地形、机载与地…

作者头像 李华
网站建设 2026/10/26 1:55:54

指令微调 SFT:从“会说话“到“会干活“

指令微调 SFT:从"会说话"到"会干活"你给 Base 模型一段话:“请把下面这句话翻译成英文:今天天气不错。” 它可能会接着写:“请把下面这句话翻译成英文:今天天气不错。请把下面这句话翻译成英文&am…

作者头像 李华
网站建设 2026/10/26 1:54:48

华为发布昇腾 AI 全栈软件平台:CANN 3.0、MindStudio、MindX

IT之家在8月10日的这一天发布了消息, 今天的时候, 在一个名叫“昇腾AI新品全球发布会”的场合上, 这个场合的英语缩写是, 并且后面还跟着<2020>这个数字, 地点是在深圳那里举行的, 华为这家公司在那个会上发布了关于昇腾AI的全栈式的软件平台, 这个平台里面包含了异构计算…

作者头像 李华