KEIL编译出错和memorymodel选择
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KEIL编译出错和memorymodel选择相关的知识,希望对你有一定的参考价值。
在输出设置里面target--->memorymodel选择如图所示
Build target 'Target 1'
compiling main.c...
linking...
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?MAIN
LENGTH: 0024H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: RECEIVEDFLAG
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: DISPBUF
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: CHULI
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: UCRECEIVEDINDEX
SEGMENT: ?DT?MAIN
Program Size: data=106.1 xdata=0 code=4870
Target not created
CPU是STC89C52,编译出错怎么解决。
还有我应该写好程序后应该怎么样处理memorymodel这个选项卡
因为我在small模式下面编译成功了以后,我在里面加了一些程序,
空间不够了提示,我就把它改为了PDATA,然后编译通过,但是
程序就出错了,一直在主函数的while(flag)里面循环,即使我没有
给flag设置成1,他照样能进去,而且还循环了。卡在在里面了
我不明白我应该怎么样解决这个问题,请教
ERROR L107: ADDRESS SPACE OVERFLOW
是地址空间溢出
PDATA也没多少 因为特殊功能半区里很多是不能占用的
没必要的不要设置成静态变量追问
改成XDATA是能编译通过,不过我听别人说一般这个都是默认的么,改这个对CPU有没有要求啊,
追答外部存储区 AT的片子得加存储片子
STC的直接做到芯片里了 看你买的什么芯片
KEIL 没破解有2K限制,你程序超过2048了,看是不是这个原因.追问
你是指code=4870吧?这个没有问题
以上是关于KEIL编译出错和memorymodel选择的主要内容,如果未能解决你的问题,请参考以下文章
keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事