ESP32 for Arduino 分区信息

忘记过去,超越自己

  • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
  • ❤️ 本篇创建记录 2023-11-04❤️
  • ❤️ 本篇更新记录 2023-11-04❤️
  • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
  • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
  • 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志 🔥

快速导读

    • [1. 前言](#1. 前言)
    • [2. 分区表说明](#2. 分区表说明)
    • [3. 程序烧录](#3. 程序烧录)
    • [4. 分区表如何对应配置](#4. 分区表如何对应配置)

1. 前言

Arduino ESP32有多个不同的分区版本。

我们在ESP32 for Arduino的工具中,有一个选项,可以配置不同的分区表,这里已经做好了一些,一般我们都是使用默认的,如下图所示:

分别代表什么意思呢?

4M FLASH默认分区方案为1.2MB的应用程序空间,1.2MB为OTA保留,1.5MB为SPIFFS文件系统保留的。

我们找到这个描述文件,这里博主对应sdk版本是 2.0.11:

C:\Users\xxxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\tools\partitions

我们打开default.csv,对应默认的分区表:
表格里面

  • Name 对应各个分区名字
  • Offset 对应的偏移地址
  • Size 对应占用大小

比如,nvs分区,从0x9000地址处开始,大小为0x5000,也就是20480字节的大小。

2. 分区表说明

网上找到一张ESP32的阿里云分区表。

  • 0-0x1000 保留
  • 0x1000-0x8000 Bootloader分区
  • 0x8000-0x9000 Partition Table分区,保存着分区表
  • 0x9000-0xD000 NVS分区,可以存储一些PHY初始化数据,也可以存储其他数据,一些断电存储的数据建议放在这里
  • 0xD000-0xF000 OTA data分区,系统从哪个app分区启动由这里存储的数据决定
  • 0xF000-0x10000 PHy_init分区,用于存储的PHY初始化数据
  • 0x10000-0x3FFFFF Factory APP分区,保存出厂应用程序(也就是我们平常代码写入的地方),分区表有工厂应用程序就会启动这个分区的程序
  • Core dump分区,查找系统崩溃时的软件错误,以便开发者分析原因
  • OTA0/OTA1分区,保存OTA下载固件,交替保存在这两个分区,镜像验证无误之后,会更新OTA data分区,分配好下一次应该从哪里启动。
  • fctry分区,保存阿里云四元组,这个就是私有数据了,可以在存储空间的最后分配一些空间用于保存一些APP的激活数据之类的,没有用到就可以忽略。

3. 程序烧录

这个烧录过程就有各个区分的操作过程,包括Bootloader区、Partition Table区、app区。

4. 分区表如何对应配置

如何查找哪个配置对应哪个csv文件呢?

找一下Board.txt文件。

随便以一个为案例(Default 4MB with spiffs):

相关推荐
r i c k23 分钟前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦38 分钟前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL1 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德2 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫2 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i2 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn3 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露3 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot