彩客网平台: [技术问答] N76E616有什么原因会出现这种情况?用的KEIL编译

申博太阳城AB亚洲馆时时彩计划软件
364|5
楼主
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: _DATA_GROUP_
    LENGTH:  0021H
Program Size: data=124.1 xdata=226 code=13073
Target not created
沙发
| 2020-6-29 10:12 | 只看该作者
代码超过容量了,彩客网平台:优化一下。
板凳
| 2020-6-29 10:13 | 只看该作者
应该是程序代码超过了Flash的存储空间。
地板
| 2020-6-29 10:14 | 只看该作者

KEIL C 出现ADDRESS SPACE OVERFLOW的解决办法



ERROR L107: ADDRESS SPACE OVERFLOW
用KEIL选用small模式编译一个程序时老时出错,信息如下。

*** ERROR L107: ADDRESS SPACE OVERFLOW
... ...
Program Size: data=217.6 xdata=0 code=5314
Target not created

芯片我选的是AT89C52,RAM有256呀,怎么会OVERFLOW呢?
但是如果编译模式选用Compact或large时就一切正常。
... ...
Program Size: data=110.6 xdata=111 code=5914
"test" - 0 Error(s), 22 Warning(s).

---------------------------------------------------------------

另外的可能性:
比如全局变量中定义的过多如下所示:
uchar xpos,ypos;
uchar disbac;
uchar coma1,comb1,comc1,coma2,comb2,comc2;
uchar map[35];
uchar buff[35];
局变量是不是用得太多了,另外用的是什么单片机,RAM总共有多大,定义变量的时候
一定要注意变量是定义在那个区域的,系统默认为直接寻址DATA区,但DATA区只有128个字节,很容易用完和溢出的,
51单片机超出128个字节的RAM区定义变量的时候一定要要变里前面加IDATA,
这样表明这个变量是定义在IDATA区的,IDATA区是128到256之间的间接寻址RAM区.
建意你在全局变量和数组前都加在IDATA.






5
| 2020-6-29 16:34 | 只看该作者
部分变量加idata
char idata my_var;
6
| 2020-6-30 10:05 | 只看该作者
建议看map file,里面有内存分配。
可以知道放在那。
如果不考虑速度放在 xdata.
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

申博太阳城AB亚洲馆时时彩计划软件 永利游戏开户直营 返回顶部 返回列表
正大国际六合彩官网 太阳城官方正网游戏导航 海天娱乐MW 王子BG棋牌 3d福利彩票官网直营网
满堂彩网在线开户直营网 优信彩票现金 快乐彩票官网直营网 彩宝网平台直营网 彩票2元网网站
彩票王官网直营网 凤凰投注网代理 彩88娱乐直营网 赛马会彩票官网直营网 4567彩票电子游戏
pt网球明星登入 乐盈彩票网电子游戏 澳门新葡京官网直营登入 优彩彩票网娱乐 幸运飞艇娱乐