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):

相关推荐
oMcLin6 分钟前
如何在Oracle Linux 8.5上配置并优化Oracle RAC集群,确保企业级数据库的高可用性与负载均衡?
linux·数据库·oracle
YuanYWRS8 分钟前
ArcGIS基础:如何在字段计算器里批量替换某个字段的某些部分内容
数据库·批量替换
Dontla10 分钟前
IndexedDB(浏览器原生NoSQL非关系型数据库)浏览器数据库、chrome数据库、idb工具库
数据库·chrome·nosql
Li_76953214 分钟前
Redis 进阶(六)—— 集群
数据库·redis·缓存
山峰哥28 分钟前
3000字深度解析:SQL调优如何让数据库查询效率提升10倍
java·服务器·数据库·sql·性能优化·编辑器
tyatyatya35 分钟前
MySQL Group Replication(MGR)集群部署,实现自动故障切换
数据库·mysql
b***594335 分钟前
mysql 迁移达梦数据库出现的 sql 语法问题 以及迁移方案
数据库·sql·mysql
木风小助理36 分钟前
MySQL中COUNT()、COUNT(1)与COUNT
数据库
不想上班的小吕36 分钟前
采购申请创建(BAPI_PR_CREATE/BAPI_REQUISITION_CREATE)
java·服务器·数据库