IAR单片机里编程时发现Data Memory溢出,怎么办?

IAR单片机里编程时发现Data Memory溢出,怎么办?,第1张

栈大小要根据你程序的实际运行情况进行评估。改得太小很可能会在运行时出现稀奇古怪的问题。

如果RAM实在不够用了,果断更换单片机型号才是上策。或者对程序进行调整降低效率换取空间,少搞几个变量

以msp430f135为例,它是512bytes的ram,起始地址为200h,终止地址为3ffh,所以它的变量是从200h开始,向3ffh方向存放,而堆栈是从3ffh开始,向200h方向压栈。

当变量存储空间和堆栈最大占用空间在中间相遇时,就发生了堆栈溢出。

1

当然是烧程序到目标板里呀

原因是变量太多,或者调用的次数太多,比如有个10000次的循环嵌套调用。

如果变量不能减少,可以手动更改堆栈的大小,在工程名上点右键,Option->General Options的Stack/Heap标签页中可以自己更改。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11367097.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存