在利用Keil C51编程时,发现程序逻辑上没有错误,但在连接时却出现了错误,如下:

*** ERROR L107: ADDRESS SPACE OVERFLOW

SPACE:   DATA

SEGMENT: ?DT?GMNS_3V4

LENGTH: 0014H

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: RECEIVE_TIMER

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: DUAL_REC_BUF

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: LAST_SEND_TIME_COUNT

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: POW_STATUS

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: POW_STATE

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: GROUP_TEST

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: S_COUNT_P

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: R_COUNT_P

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: RING_JUDGE_STATEB1

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: RING_JUDGE_STATEB0

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAOXIN_CHECK_STATUS4

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAOXIN_CHECK_STATUS3

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAOXIN_CHECK_STATUS2

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAOXIN_CHECK_STATUS1

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAOXIN_CHECK_STATUS0

SEGMENT: ?DT?GMNS_3V4

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

SYMBOL: YAO_XIN_COUNT

SEGMENT: ?DT?GMNS_3V4

出现以上错误的原因主要是第一个原因,第一个原因导致了它下面所有错误,第一个原因是:

ERROR L107: ADDRESS SPACE OVERFLOW

SPACE:   DATA

SEGMENT: ?DT?GMNS_3V4

LENGTH: 0014H

说明data空间已经不够用,原因是你可能有好多函数,而函数内部的局部变量又没有定义其空间,这种情况下,系统会将变量分配到你在Otions for Target 对话框里的设置的空间。如果你在下图所示中的 Memory Model 里设置成 Small:variables in DATA,则DATA空间很快便用完,导致data空间不够用。解决的办法有两种,一是通过更改Memory Model设置,可以设置成pdata或xdata,以便有足够大的空间,但这又带来新的问题,程序运行速度减慢,而且code代码也会加大,因为如果一个局部变量被存放在了xdata空间,汇编语言访问xdata空间的代码大小要比访问data空间的代码大,变量一旦很多,程序的代码也会逐渐增大;二是根据自己的要求设置变量的空间。所以这涉及到代码优化的问题,遇到具体问题时,在运行速度和代码大小之间取得适合自己的情况。

keil错误ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT相关推荐

  1. Keil错误 error: #5: cannot open source input file XXX / XXX.h:

    在编译一些程序常常遇到不能打开的文件,一般这时都是路劲不对,尝试重新加载路劲一编译,问题依然存在,细心的人可能会发现,keil5 下添加路劲会,比如 ...\lwip-1.3.2\src\includ ...

  2. 关于KEIL5编译出现“Target not createt”全系列解决办法——情况2:程序溢出错误 ERROR: PUBLIC REFERS TO IGNORED SEGMEN

    前言 在KEIL5编程,往往遇到许多"Target not createt",即目标不能实现这类情况.由此为帮助大家解决这些问题特开此贴. 目录如下: 1.2K字节限制错误 ERR ...

  3. keil 5 : Error: L6218E: Undefined symbol 问题解决方法小记

    最近学习嵌入式开发,因项目框架较大,部分内容改动,在将别人单独写的串口读取数据源码添加到工程中后,编译出现以下问题: 通过查询资料,都是在说未定义引下的错误. 回头检查项目,源文件加入到工程,头文件也 ...

  4. 编程英语:常见代码错误 error 语句学习(9)

    编程英语:常见代码错误 error 语句学习(9) error 1:Code segment too large 代码段太长 error 2:OF expected 缺 OF error 3:Inva ...

  5. c语言代码错误c2059,c++代码错误error C2059:?

    c++代码错误error C2059:?0 代码如下://Circle.cpp文件,类CCircle的成员函数的实现 #include "circle.h" double CCir ...

  6. c语言错误2064,VC错误: error C2064: term does not evaluate to a function

    VC错误: error C2064: term does not evaluate to a function0 grcfhl2013.11.03浏览34次分享举报 一个求矩形,圆形,三角形的面积的程 ...

  7. java初始化虚拟机错误_异常 - 虚拟机初始化错误 - Error occurred during initialization of VM...

    1 环境配置信息 1.1 服务器配置信息 服务器是物理机, 配置信息如下: CPU型号 CPU个数 CPU核数 CPU线程数 内存 Intel(R) Xeon(R) CPU E5-2630 v4 @ ...

  8. Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题

    Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题 参考文章: (1)Visual Stdio VS 错误 err ...

  9. Jenkins的错误“error fetching remote repo origin”的问题解决

    Jenkins的错误"error fetching remote repo origin"的问题解决 参考文章: (1)Jenkins的错误"error fetching ...

最新文章

  1. 【百战GAN】羡慕别人的美妆?那就用GAN复制粘贴过来
  2. js日期格式判断(2018/01/30) -方法 小时分秒格式判断((HH:MM)
  3. Nginx 代理服务的配置说明
  4. Django(part27)--聚合查询
  5. python爬抖音短视频_python爬取抖音小视频
  6. 5G 和 IoT 究竟意味着什么?
  7. linux 进程间通信 --- 消息队列 消息队列标识符 --- 同一类型 --- 消息头 --- 消息体
  8. ArrayList和LinkedList
  9. discuz是如何判断手机端访问的
  10. SQL超级简单的基础入门
  11. 稚晖君软件硬件开发环境总结
  12. mysql(多级分销)无限极数据库设计方法
  13. 再次出现用户净流失,大失颜面的中国移动推出超低价套餐争取用户
  14. 7-3 地下迷宫探索(30 分)(dfs)
  15. C语言试题164之求定积分
  16. android4.2 拦截power键,Android 屏蔽Power键 Home键
  17. Android开发之ExpandableListView可拓展列表和子item左滑结合
  18. 关于Java使用POI对Excel2003和2007的导入和导出
  19. labview简易计算机实验报告,labview 实验报告.doc
  20. Windows2008硬盘安装OpenSuse11.2

热门文章

  1. 刺激战场android ios,绝地求生刺激战场ios和安卓数据互通吗 安卓苹果可以添加好友一起玩吗...
  2. 如何用python画钝角三角形_使用math.atan2计算线段(Python)之间的角度
  3. 网络编程——多播与广播
  4. 传递函数H(s)-滤波器设计
  5. 渗透测试方法论4---测试验证机制
  6. MacbookPro连接2K显示屏并开启1080HiDPI
  7. Ubuntu18.04 解决有线网络连接不显示
  8. 鸡卵清白蛋白偶联维生素A(VA-OVA),Vitamin A-Ovalbumin Conjugate
  9. python画漫画_漫画:我用深度学习框架画下女朋友最美的脸
  10. 一种信息技术用计算机显示,一种信息技术工程用计算机显示器的制作方法