IAR编译出现Error[Lp011]: section placement failed

其实是代码的大小超出了该MCU的能承受范围。

这个时候,有两个办法,但是不一定都有效。

1.更改IAR配置(实际代码量没超的情况下使用)

点击工程,右键Options->C/C++ Compiler->Optimizations,把LOW改成HIGH。但是这个方法不一定有效,就像计算机内存或者带宽一样,为了正常运行有一点的余量。我试着把Language和Data都改为了HIGH,也没有用。

2.将代码进行修改(代码可以删减的情况下使用,就是减肥)

删去无用的代码、特别是删去重复的变量定义、大表格。如果有需要查表的,尽可能把表格的内容减少,因为查表很占内存,比如我们采样的时候为了获取温度,实在不行就5摄氏度一查,或者删去头尾的低温和高温。

3.之所以有3,是世上无难事,只要肯放弃。换一块脑子大一点的MCU

你可能感兴趣的:(单片机,单片机)