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

ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小

好记心不如烂笔头

使用ESP-IDF开发ESP32的时候,要是同时用到蓝牙和WIFI的话,很多时候会提示Flash不够, 我是照着这样解决的,存档记录

来源 : zaixingxing2539 大佬的 ESP32 ESP-IDF5.0 在VSCODE中自定义分区表

用Visual Studio Code自定义分区表

# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,,0x4000,,
otadata,data,ota,,0x2000,,
phy_init,data,phy,,0x1000,,
factory,app,factory,,0x140000,,
ota_0,app,ota_0,,0x140000,,
ota_1,app,ota_1,,0x140000,,

上面就是我在网上找的分区表,目前能用,看有ota应该还是能在线升级的那种,一行就是一个分区,每个分区有6个属性
Name: 分区的名称,可以是任意字符串,用于标识分区。
Type: 分区的类型,可以是 app 或 data,用于指定分区存储的内容。
SubType: 分区的子类型,根据分区的类型不同而不同,用于指定分区的功能或格式。
Offset: 分区在闪存中的偏移量,必须是 4 KB 的整数倍。
Size: 分区在闪存中占用的大小,必须是扇区大小 (4 KB) 的整数倍。
Flags:应该是是否加密

nvs 是一个 data 类型的分区,子类型为 nvs,用于存储 NVS (Non-Volatile Storage) 数据。它在闪存中从 0x9000 开始,占用 0x6000 大小。
phy_init 是一个 data 类型的分区,子类型为 phy,用于存储 PHY 初始化数据。它在闪存中从 0xf000 开始,占用 0x1000 大小。
factory 是一个 app 类型的分区,子类型为 factory,用于存储工厂应用程序。它在闪存中从 0x10000 开始,占用 1M 大小。

配置

打开项目SDK配置编辑器
在这里插入图片描述
或者
在这里插入图片描述
输入idf.py menuconfig
在这里插入图片描述
在编辑器里输入 “Custom partition table CSV” 这个选项,并指定 CSV 文件的名称。
在这里插入图片描述
保存后按 F1 键不行就按 Shift+Ctrl+P 打开命令面板,选择 “Open Partition Table Editor” 这个命令。
在这里插入图片描述

如果没有根据您指定的 CSV 文件名创建分区表文件,点"Add New Row"就可以创建了,在分区表编辑器中,您可以添加、删除或修改分区,也可以导入或导出分区表文件。
当您完成了分区表的编辑,您可以点击 “Save” 按钮来保存文件,并关闭编辑器
在这里插入图片描述
保存后会在项目根目录下生成一个分区表文件
在这里插入图片描述
到这里分区表自定义完成
————————————————
版权声明:本文为CSDN博主「zaixingxing2539」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zaixingxing2539/article/details/129624391

用Visual Studio Code调整Flash大小

分区表自定义完成了,编译后还是提示Flash小,目前的解决办法是在项目SDK配置编辑器里调整Flash大小为4M,原始数据是2M,也不知道我这板子具体是多大的了
打开项目SDK配置编辑器
在这里插入图片描述
或者
在这里插入图片描述
输入idf.py menuconfig
在这里插入图片描述
在配置界面中,输入“Serial Flasher Config”
在这里插入图片描述
最后,记着打开蓝牙功能,打开项目SDK配置编辑器
在这里插入图片描述
OK,编译上传测试都OK.


http://www.kler.cn/a/146681.html

相关文章:

  • 【MySQL实战45讲笔记】基础篇——redo log 和 binlog
  • C++ —— string类(上)
  • D3中颜色的表示方法大全
  • 【大语言模型】ACL2024论文-12 大型语言模型的能力如何受到监督式微调数据组成影响
  • Java 核心技术卷 I 学习记录九
  • M|告白(2024)
  • 第二证券:煤炭板块震荡走高 潞安环能、晋控煤业涨超5%
  • Flask Paginate实现表格分页
  • 计算机基础知识详细讲解
  • Selenium中常用的JS操作总结
  • 详解Java中的泛型(泛型的语法,擦除机制,泛型的上界)
  • 【中间件】消息队列中间件intro
  • OpenCV快速入门:图像分析——图像分割和图像修复
  • 【古诗生成AI实战】之三——任务加载器与预处理器
  • 《opencv实用探索·二》根据RGB的像素排列来理解图像深度、像素深度和位深度
  • Python与设计模式--建造者模式
  • 【M365运维】修复Bitlocker在AAD里没有密钥的故障
  • 基于C++实现水仙花数
  • STM32 F1 串口空闲中断 + DMA实现数据发送
  • 数据结构 / 结构体位域
  • 以太网通讯协议小结--持续更新中
  • Shell 脚本自动化备份与恢复实践
  • CSGO搬砖如何选品?选品软件和教程靠谱吗?
  • mysql 行转列 GROUP_CONCAT 试验
  • upgrade openstack from ovs to ovn (by quqi99)
  • Linux 设置文件开启数量限制