标题: 求大神帮我看看这个到底是怎么回事 [打印本页]

作者: Brambler    时间: 2016-5-25 19:56
标题: 求大神帮我看看这个到底是怎么回事
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...
compiling MCU.c...
compiling uart.c...
linking...
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: ?DT?MCU
    LENGTH:  0034H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  SHIJIAN
    SEGMENT: ?DT?MCU
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  RECE_BUF
    SEGMENT: ?DT?MCU
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  FIRST_INT
    SEGMENT: ?DT?MCU
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  TX_ADDRESS
    SEGMENT: ?DT?MCU
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  RX_ADDRESS
    SEGMENT: ?DT?MCU
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
    SYMBOL:  TIMES
    SEGMENT: ?DT?MCU
Program Size: data=142.0 xdata=200 code=3597
Target not created.
Build Time Elapsed:  00:00:01

程序我发附件了

MCU2.zip

57.76 KB, 下载次数: 14

出问题的程序


作者: luoluoluo136    时间: 2016-5-26 08:57
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...
compiling MCU.c...
compiling uart.c...
linking...
Program Size: data=10.0 xdata=332 code=4173
".\Objects\MCU" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:01

一点没改,编译成功,没有错误也没有警告。。。。

原因是你编译模式问题,单片机内存超过了256kb,所以要用large 模式编译
作者: luoluoluo136    时间: 2016-5-26 08:59
具体做法是keil中点魔术棒,然后target--memory model 选择large
作者: Brambler    时间: 2016-5-26 09:28
luoluoluo136 发表于 2016-5-26 08:59
具体做法是keil中点魔术棒,然后target--memory model 选择large

我看别人的帖子说这样编译出来的HEX文件下载到单片机中会不工作?要外接ram是吗。。。
作者: Brambler    时间: 2016-5-26 09:29
luoluoluo136 发表于 2016-5-26 08:57
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...

使用large模式是不是要外接ram了。。
作者: bond5566    时间: 2016-5-26 09:48
内存空间不够哦,修改一下程序
作者: Brambler    时间: 2016-5-26 10:09
bond5566 发表于 2016-5-26 09:48
内存空间不够哦,修改一下程序

使用large模式是可以编译了,但是是不是要外接ram了
作者: Brambler    时间: 2016-5-26 10:28
luoluoluo136 发表于 2016-5-26 08:57
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...

下载进去以后串口发送的数据好像不对。。。不知道是不是因为编译模式的原因。。。之前使用small模式的时候发送的是正确的。。
作者: Brambler    时间: 2016-5-26 10:57
神啊救救我吧。。。。真的很急啊
作者: luoluoluo136    时间: 2016-5-28 08:53
Brambler 发表于 2016-5-26 10:57
神啊救救我吧。。。。真的很急啊

看你什么单片机了。。。留下扣扣,我可以帮你的话尽量帮

作者: liuyimao485812    时间: 2016-5-29 23:54
内存不够,应该是全局变量使用太多了。
作者: Brambler    时间: 2016-5-30 15:31
luoluoluo136 发表于 2016-5-28 08:53
看你什么单片机了。。。留下扣扣,我可以帮你的话尽量帮

244914280,谢谢大神
作者: Brambler    时间: 2016-5-30 17:19
luoluoluo136 发表于 2016-5-28 08:53
看你什么单片机了。。。留下扣扣,我可以帮你的话尽量帮

已经解决了。。我用的STC89C52RC单片机。然后编译模式使用了compact,就好了。。。谢谢大神。以后有不懂的还请大神不要厌烦。。。
作者: luoluoluo136    时间: 2016-5-31 09:20
ok这个是小问题而已,多做以后很容易解决的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1