其实是代码的大小超出了该MCU的能承受范围。
这个时候,有两个办法,但是不一定都有效。
1.更改IAR配置(实际代码量没超的情况下使用)
点击工程,右键Options->C/C++ Compiler->Optimizations,把LOW改成HIGH。但是这个方法不一定有效,就像计算机内存或者带宽一样,为了正常运行有一点的余量。我试着把Language和Data都改为了HIGH,也没有用。
2.将代码进行修改(代码可以删减的情况下使用,就是减肥)
删去无用的代码、特别是删去重复的变量定义、大表格。如果有需要查表的,尽可能把表格的内容减少,因为查表很占内存,比如我们采样的时候为了获取温度,实在不行就5摄氏度一查,或者删去头尾的低温和高温。
3.之所以有3,是世上无难事,只要肯放弃。换一块脑子大一点的MCU
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_38038158/article/details/123678727
|