vscode + platformio开发esp32时碰到了程序编译太大,导致编译不通过。 提供的程序空间只有1310720 bytes,而编译的文件1570811 bytes 解决办法有两个,一是通过修改默认的存储分区表,二是自定义分区表esp32存储分区表概念可以参考官方文档https://docs.espressif.com/projects/esp-idf/zh_CN/latest/api-guides/partition-tables.html
方法一
1、找到默认的存储分区表 默认分区表在platformio安装的包下,找到对应的框架下的tools里的partitions,例如我安装的目录在C:/Users/Thekai/.platformio/packages/framework-arduinoespressif32/tools/partitions如下图所示 default.csv就是默认的flash分区表,partitions文件下有多个分区表文件供参考,我们只需要更改default.csv,配置需要的大小,下面是原始的
原始的 修改后 保存,再进行编译,编译结果如下
**注意:**以上修改将适用全局,也就是说以后建立的工程都会使用该修改的分区表,所以这种方法不推荐。
方法二
自定义分区表,拷贝一个default.csv文件,修改名字为自定义的 mymemset.csv,修改自己需要的大小,操作同上图。然后添加到自己的工程下,如图添加这段话 保存并编译,编译结果如下
同样的效果,自定义分区表更能适配不同的工程需求。 不得不说嵌入式的坑真多😫😫😫😫😫😫
|