打印

ATmega8a堆栈报错

[复制链接]
985|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本人刚接触AVR有些不熟悉,请教坛子里的大神堆栈问题
一:使用编译环境IAR-AVR5.3版本
二:刚开始全局变量不多,使用一切正常,后来增加了些全局变量,IAR提示报错如下图



三:然后我去掉一些全局变量  看看map文件,看到ram的使用也只有173个字节,而我们的mega8的ram是1K,没有用完。如下图

四:然后我在IAR的选项中设置大一点CSTAK但是没有用不知道什么原因,请教坛子里的大神们,帮个忙。如何处理。难道软堆栈就不能设大一点吗

相关帖子

沙发
stevenzhongan|  楼主 | 2016-10-8 09:26 | 只看该作者
沙发!!!!

使用特权

评论回复
板凳
stevenzhongan|  楼主 | 2016-10-8 10:54 | 只看该作者
没人来,自己顶

使用特权

评论回复
地板
tyw| | 2016-10-8 11:22 | 只看该作者
AVRATmega16定时器溢出中断使用小结.pdf (640.25 KB)
堆栈溢出了怎么办?.pdf (705.55 KB)
堆栈溢出技术从入门到精通.pdf (230.75 KB)
如何优化单片机C程序及堆栈溢出、RAM空间优化.pdf (1.16 MB)
ICC错误集锦看懂ICCAVR的报错.pdf (1.39 MB)

使用特权

评论回复
5
yangxf1217| | 2016-10-8 13:05 | 只看该作者

使用特权

评论回复
6
xmar| | 2016-10-8 15:26 | 只看该作者
如果楼主C程序中使用了printf()或者scanf()函数,并且,设置为Large就相当耗费内存。改为Small或Tiny。参见下图:


使用特权

评论回复
7
stevenzhongan|  楼主 | 2016-10-9 13:12 | 只看该作者
没有使用printf或者scanf函数

使用特权

评论回复
8
stevenzhongan|  楼主 | 2016-10-9 13:13 | 只看该作者
xmar 发表于 2016-10-8 15:26
如果楼主C程序中使用了printf()或者scanf()函数,并且,设置为Large就相当耗费内存。改为Small或Tiny。参见 ...

没有使用printf或者scanf函数

使用特权

评论回复
9
stevenzhongan|  楼主 | 2016-10-10 09:09 | 只看该作者
G:\55.jpg这样设置就OK了

使用特权

评论回复
10
stevenzhongan|  楼主 | 2016-10-10 09:10 | 只看该作者
把memory model设置为small模式就OK了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

43

帖子

1

粉丝