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配置编辑器
在这里插入图片描述
或者
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第1张图片
输入idf.py menuconfig
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第2张图片
在编辑器里输入 “Custom partition table CSV” 这个选项,并指定 CSV 文件的名称。
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第3张图片
保存后按 F1 键不行就按 Shift+Ctrl+P 打开命令面板,选择 “Open Partition Table Editor” 这个命令。
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第4张图片

如果没有根据您指定的 CSV 文件名创建分区表文件,点"Add New Row"就可以创建了,在分区表编辑器中,您可以添加、删除或修改分区,也可以导入或导出分区表文件。
当您完成了分区表的编辑,您可以点击 “Save” 按钮来保存文件,并关闭编辑器
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第5张图片
保存后会在项目根目录下生成一个分区表文件
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第6张图片
到这里分区表自定义完成
————————————————
版权声明:本文为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配置编辑器
在这里插入图片描述
或者
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第7张图片
输入idf.py menuconfig
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第8张图片
在配置界面中,输入“Serial Flasher Config”
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第9张图片
最后,记着打开蓝牙功能,打开项目SDK配置编辑器
ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小_第10张图片
OK,编译上传测试都OK.

你可能感兴趣的:(ESP32,vscode,ESP32)