如何解决keil 编译错误:address space overflow

[复制链接]
8215|6
 楼主| djjyi 发表于 2009-1-14 09:32 | 显示全部楼层 |阅读模式
我用的单片机是256字节ram, 发现这种错误该如何处理?这个溢出是指超过ram的范围吗?
zyok 发表于 2009-1-14 09:34 | 显示全部楼层

是的,变量太多了。。。

如果51的话,把一些变量定义为 idata 试试~
 楼主| djjyi 发表于 2009-1-14 09:38 | 显示全部楼层

re

在设置compact模式可以通过&nbsp;<br />compact模式和small模式和large模式有什么区别呢?
zyok 发表于 2009-1-14 09:47 | 显示全部楼层

如果没有外部ram就只能用small

small,临时变量分配在data或idata区<br />compact,临时变量分配在pdata区<br />large,临时变量分配在xdata区<br /><br />如果没有外部ram就只能用small...
 楼主| djjyi 发表于 2009-1-14 09:51 | 显示全部楼层

re

谢谢楼上的回答&nbsp;<br />再问下&nbsp;在small模式下&nbsp;&nbsp;我编译得到data=116.0&nbsp;&nbsp;但我的ram是256的&nbsp;为什么会溢出?data不是小于256吗?
zyok 发表于 2009-1-14 09:54 | 显示全部楼层

256中的128在 idata

看2楼
computer00 发表于 2009-1-14 13:26 | 显示全部楼层

把一些变量改成idata,尤其是大的数组。

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

294

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部