当前位置: 代码迷 >> 单片机 >> 请教这样的异常怎么解决?KeiL C51
  详细解决方案

请教这样的异常怎么解决?KeiL C51

热度:613   发布时间:2016-04-28 16:21:09.0
请问这样的错误如何解决?KeiL C51


*/linking...
***   ERROR   L107:   ADDRESS   SPACE   OVERFLOW
    SPACE:       HCONST
    SEGMENT:   ?FC?OVTFONT_4_CE_D7
    LENGTH:   0076F8H      
***   ERROR   L120:   CONTENT   BELONGS   TO   ERRONEOUS   SEGMENT
    SEGMENT:   ?FC?OVTFONT_4_CE_D7
Program   Size:   data=42.6   xdata=13346   const=208382   code=162171
Target   not   created

好像是空间不够大!!


------解决方案--------------------
一般的单片机是可以将常量数据放到flash中的
------解决方案--------------------
51的memory size是没办法的,只有用外接flash memory了。程序算法可以改进,因为不可能同时修改一大片数据,那就要用到哪部分就读取哪部分,不用时就用其他数据覆盖掉这部分RAM,类似PC上的页面交换。
------解决方案--------------------
const=208382

这个空间不小,用EEPROM速度够吗?

另外还有一个,简单的EEPROM的读写有可能不能有效地访问数据.有可能需要像对硬盘一下设计一个简单的存储访问控制格式...


------解决方案--------------------
const=208382 code=162171
这两个加起来都超过300K了,51的linker当然要报错。
  相关解决方案