我在网上找的资料用keil做的c语言编程,显示没有错误,但是编译不了hex文件

Buildtarget'Target1'assemblingSTARTUP.A51...compilingdianzhengping.c...linking...***E... Build target 'Target 1'
assembling STARTUP.A51...
compiling dianzhengping.c...
linking...
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: IDATA
SEGMENT: ?ID?DIANZHENGPING
LENGTH: 0080H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: DISPRAM
SEGMENT: ?ID?DIANZHENGPING
Program Size: data=149.0 xdata=0 code=5587
Target not created

显示上面代码不知道应该怎么处理!
展开
 我来答
自我编程
2018-05-24 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部
全局变量定义太多,RAM不够用了。
比如你内部RAM256 ,data低128,idata高128,编译默认使用data。要使用idata,定义变量的时候在类型后面加idata,指定使用。比如int idata var
融火IC
2018-05-24 · TA获得超过521个赞
知道小有建树答主
回答量:412
采纳率:77%
帮助的人:145万
展开全部
报错信息已经指出来,“ERROR L107: ADDRESS SPACE OVERFLOW”空间不够用了,具体是数据空间还是代码空间不够用,那你就需要看看你的硬件环境分别有多大的空间,显示当前这个程序需要数据空间149.0, 代码空间5587(单位不知道是KBytes还是Bytes)。你需要根据提示,优化代码,减小使用的数据或者代码空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式