在辛辛苦苦利用PlatformIO写好代码,进行build的时候报错
Error: The program size (XXXX bytes) is greater than maximum allowed (1310720 bytes)
然后告诉你FLASH被挤爆了
这是由于PlatformIO默认只分配了 1310720 byte的原因。
但一般来说我们使用的芯片FLASH是远大于这个数的,比如我开发使用的ESP32-WROOM-32UE-N4是4MB,如果用的是N8N16什么的更大,但是你的PlatformIO不知道啊!
下面是解决方法↓↓↓
第一种方法:打开partitions文件夹,路径是C:\Users\Administrator\.platformio\packages\framework-arduinoespressif32\tools\partitions
我们可以看到里面有很多.csv文件
我们可以直接修改default.csv,改变分配的FLASH大小。弄不明白的话可以直接将huge_app.csv里面的内容复制到default.csv里面,分配给FLASH大小差不多是3MB,如果不够用这里这么多自己选一个吧。
第二种方法是在VSCode里面,在你的工程里找到platformio.ini文件,修改platformio.ini文件。
插入代码:
board_build.partitions = huge_app.csv
同理,不够用可以换一个。
成功!FLASH限制被我们成功改成了3MB(或者你乐意的任何一个值)