内存不足问题。
常见的原因及解决办法如下:
(1)字库或者图片这种静态数组常量数组太多了,删减或者放Flash,有SD卡放卡里,需要的时候读
(2)有LVGL的,可以把lv_conf.h这个数组改大
太大也不行,太小也不行,自己调整。
(3)代码优化等级太低了,调高


在一些情况下不适合使用代码优化,自己注意。不过我也没遇到过。 (二编:遇到了。对寄存器的操作有时会被优化,导致更改无效,比如按键的读取,较大的循环计数,数码管IO的输入输出配置,解决办法参考不加volatile关键字,在低优化情况是不是可以认为没影响?
https://blog.csdn.net/m0_64089565/article/details/141671745)
(4)检查代码是否存在动态创建未释放,或者创建过多的问题。
由于你编译还没通过,此时无法确定由哪个文件导致了内存爆炸,我们可以暂时改大内存大小,欺骗编译器。

调大IRAM1的Size大小,比实际大小大。
点击编译,成功后查看工程目录路径下的map文件


实在不行也可以换芯片hhh,用大数组就很容易爆炸,一般放flash够了

1万+

被折叠的 条评论
为什么被折叠?



