keil编译时出现“Program Size: data=133.0 xdata=0 code=3198”怎么解决啊?

我用的可是89C52,RAM和ROM应该够用啊,请大师帮忙解决。... 我用的可是89C52,RAM和ROM应该够用啊,请大师帮忙解决。 展开
 我来答
百度网友02d2007
2013-06-05 · TA获得超过140个赞
知道小有建树答主
回答量:196
采纳率:100%
帮助的人:110万
展开全部
只要生成了Hex文件,没有错误,就没问题,这个只是一个提示信息,我也不知道89c52的data有多大,你可以 点击 project---->options for target------>device查看,如果你89c52的data超过了133,你可以考虑把原来定义的数据类型改成xdata
追问

就是生成不了HEX文件

追答
data:直接寻址的片内RAM区低128B(00H~7FH) 

idata:单片机间接访问的片内RAM区,允许访问全部片内RAM ,注意是全部片内RAM(你定义成idata,数据还是存在了RAM区,所以仍然出现上面所说的情况,而且显示的变量字节还增加了)

xdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAM(0000H~FFFFH)
langqiong261
2013-06-05 · TA获得超过1161个赞
知道小有建树答主
回答量:1175
采纳率:0%
帮助的人:1191万
展开全部
项目 右键 option target

RAM ROM 都选择最大模式,你这个是是因为data超出了128 .
或者用xdata定义变量
追问

重来没有用过这,这个怎么改?,还有就像你说的,我把数据定义在idata区域时,仍然出现上面所说的情况,而且显示的变量字节还增加了,但将数据定义在xdata后,就没有问题了,我觉得将数据定义在idata,不就是用了ram的搞128字节了吗?怎么还会错呢?

追答
data 和 idata一样的,xdata是指定义在52多出来的128字节ram。这个和编译器的版本和设置有关系
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一剑出血
高粉答主

2013-06-05 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
这个提示又不是出错,只是告诉你编译的结果而已。
89C52应当有8kB的Flash,3k多的code不在话下。
追问
编译不能通过,生成不了HEX文件的嘛
追答
把完整的出错提示贴出来。你贴出来的只是编译结果的报告,还有一大堆的提示你没有贴!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式