您现在的位置: 主页 > MCU > 单片机技术应用 > 关于AVR CSTACK和RSTACK的总结 -
本文所属标签:
为本文创立个标签吧:

关于AVR CSTACK和RSTACK的总结 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
首先声明: ICC 自动分配RAMIAR可手动分配RAM提个醒:程序用到大数组时,一定要注意 RAM分配问题1、RSTACK: 存储 程序调用返回地址IAR设置单位为字 (软件中默认)16字 占用32个字节;例: 1616层中断

 

本文引用地址: http://www.21ic.com/app/mcu/201804/765853.htm

首先声明: ICC 自动分配RAMIAR可手动分配RAM
提个醒:程序用到大数组时,一定要注意 RAM分配问题
1、RSTACK: 存储 程序调用返回地址IAR设置单位为字 (软件中默认)16字 占用32个字节;
例: 1616层中断函数嵌套;//中断出问题一般是 RSTACK的问题。
2、CSTACK:局部变量存储区域 所有子函数的局部变量从该堆栈申请,用完还回;
程序中用到大数组时,要考虑CSTACK的设置
可以这么理解:
RAM= CSTACK+RSTACK+全局变量;

遇到的问题:
AVRMEGA8515LOPTION-Target 中memory mode 选的tiny,提示 RAM溢出,需设置更小的CSTACK或者RSTACK给其腾出更多的空间; 更改memory mode 选得small,编译过了。(本以为问题通过修改memory解决了,但严重的BUG却出现在这里,能够读取温度传感器温度,但是与标准温度相差3℃ ,用了两天时间,查找问题的原因,最终:memory修改回 tiny模式,把常量数组全写到FLASH中,编译通过,解决了该问题 )。
只能说这款单片机太落后,MEGA88PA等,memory模式直接是small模式
1K的RAM确实比512Byte的RAM要好!!!!

 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 关于AVR CSTACK和RSTACK的总结 -
 

"关于AVR CSTACK和RSTACK的总结 -"的相关文章

网站地图

围观()