IAR编译出来RAM占用大
BSP\Project\AT_START_F421\Templates\IAR_v8.2 这个IAR模板编译出来RAM占用特别大4.18K,有办法解决吗?(Keil编译只占1.6K)本帖最后由 sheltonyu 于 2021-1-20 15:14 编辑
你好,RAM差异是因为两种环境下的默认堆栈大小不一样导致的,默认size如下图
keil
IAR
改法:
可从BSP中的Libraries/CMSIS/CM4/DeviceSupport/startup/iar/linker下拷贝一份对应的icf文件到工程目录
点击IAR图中步骤2的复选框选中拷贝到工程目录的icf文件,再点击步骤3修改堆栈大小后保存就可以了。
sheltonyu 发表于 2021-1-20 15:10
你好,RAM差异是因为两种环境下的默认堆栈大小不一样导致的,默认size如下图
keil
搞定,太帅了!
本帖最后由 457878 于 2021-1-20 20:41 编辑
上面问题已OK,谢谢sheltonyu解决问题
另一个问题,我的程序跑到某个地方就复位(一个驱动函数,多运行几遍就复位,直接进int main()),..堆栈没溢出(没有跑到HardFault_Handler())
头大了,怀疑RAM还是不够用,芯片是AT32F421K8U7 (ROM=64K,RAM=8K)
原来Low的优化等级编译出来是这样的:
现优化等级是最高优化,下面这个内存占用应该没问题了吧,还是复位:
457878 发表于 2021-1-20 20:25
上面问题已OK,谢谢sheltonyu解决问题
另一个问题,我的程序跑到某个地方就复位(一个驱动函 ...
原来是被看门狗咬了...我的打狗棒呢!!! {:lol:}
学习一下
页:
[1]