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.hqwc.cn/news/215828.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux技能篇-非交互式修改密码

今天的文章没有格式,简单分享一个小技能,就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

防止应用程序截屏(容器式,防止极域电子教室和录屏软件录制)

核心原理、实现目的 1、使用Panel容器将外部窗口嵌入自己写的程序 2、使用防止截屏的函数来对窗口透明,这可以使本窗口内所有窗口在录屏软件上消失 3、解放,抓取,存储句柄,实现摆脱录屏(极域监控) 程序…

Unity 引擎宣布:自 2024 年起,开发者需支付费用!

Unity引擎宣布的新的收费模式,从2024年1月1日开始,根据游戏的安装量来对开发者进行收费。具体来说,每次游戏被下载时,UnityRuntime也会被安装,因此可能会产生额外的费用。对于开发者来说,需要注意以下几点&…

带submodule的git仓库自动化一键git push、git pull脚本

前言 很久没写博客了,今天难得闲下来写一次。 不知道大家在使用git的时候有没有遇到过这样的问题:发现git submodule特别好用,适合用于满足同时开发和部署的需求,并且结构清晰,方便我们对整个代码层次有一个大概的了…

android 保活的一种有效的方法

android 保活的一种有效的方法 为什么要保活 说起程序的保活,其实很多人都觉得,要在手机上进行保活,确实是想做一些小动作,其实有些正常的场景也是需要我们进行保活的,这样可以增强我们的用户体验。保活就是使得程序常驻内存,这种程序不容易被杀,或者在被杀以后还能完…

html table样式的设计 表格边框修饰

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>今日小说排行榜</title> <style> table {border-collapse: collapse;border: 4px double red; /*…

一文彻底看懂Python切片,Python切片理解与操作

1.什么是切片 切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。 说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

Android相机性能提高50%

文章目录 应用举例&#xff08;可以不看这一part&#xff0c;直接跳过看具体怎么做&#xff09;&#xff1a;Snapchat 通过 Camera2 Extensions API 将新相机功能的集成速度提高了 50%**Camera2 扩展 API 可以访问高级功能更多设备上的更多机会 正文&#xff1a;开始使用扩展架…

vatee万腾的科技征途:Vatee独特探索的数字化力量

在数字化时代的浪潮中&#xff0c;Vatee万腾以其独特的科技征途成为引领者。公司在数字化领域的探索之路不仅是技术的创新&#xff0c;更是一种对未知的勇敢涉足&#xff0c;是对新时代的深刻洞察和积极实践。 Vatee万腾通过独特的探索&#xff0c;展示了在数字化征途上的创新力…

LemMinX-Maven:帮助在eclipse中更方便地编辑maven的pom文件

LemMinX-Maven&#xff1a;https://github.com/eclipse/lemminx-maven LemMinX-Maven可以帮助我们在eclipse中更方便地编辑maven工程的pom.xml文件&#xff0c;例如补全、提示等。不用单独安装&#xff0c;因为在安装maven eclipse插件的时候已经自动安装了&#xff1a; 例…

nginx的n种用法(nginx安装+正向代理+反向代理+透明代理+负载均衡+静态服务器)

nginx的安装 一、安装依赖 # 一键安装四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel二、安装nginx yum install nginx三、检查是否安装成功 nginx -v四、启动/停止nginx /etc/init.d/nginx start /etc/init.d/nginx stop五、编辑配置文件…

vue2项目从0搭建(三):配置环境变量及对应的webpack配置

前言 实际业务开发中,一个项目很可能会同时配置好几套环境。 比如:常规开发环境,开发测试环境,正式的测试环境,预发测试环境,客户甲的生产环境,客户乙的生产环境,通用生产环境,独立应用环境,微前端环境,大屏专用环境,移动端环境。 一女多嫁的实际业务场景,就需要我们进行多样…