请问这样的错误如何解决?KeiL C51

zdcs 2007-03-23 02:33:08


*/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

好像是空间不够大!!
...全文
1641 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
seedundersnow 2007-03-29
  • 打赏
  • 举报
回复
51的const+code不能超过64K
seedundersnow 2007-03-29
  • 打赏
  • 举报
回复
const=208382 code=162171
这两个加起来都超过300K了,51的linker当然要报错。
bigbat 2007-03-29
  • 打赏
  • 举报
回复
你的空间已经超过了你用的51资源。可以找好一点的片子。或把你的字库缩一些。
lbing7 2007-03-23
  • 打赏
  • 举报
回复
const=208382

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

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

江南一书生 2007-03-23
  • 打赏
  • 举报
回复
51的memory size是没办法的,只有用外接flash memory了。程序算法可以改进,因为不可能同时修改一大片数据,那就要用到哪部分就读取哪部分,不用时就用其他数据覆盖掉这部分RAM,类似PC上的页面交换。
tyj_3 2007-03-23
  • 打赏
  • 举报
回复
那就要考虑用E2PROM了
zdcs 2007-03-23
  • 打赏
  • 举报
回复
是的,但是这些点阵在我程序运行时需要读出来,还要可以写进去

因此无法放入flash,只能放到SDRAM中,请问怎么解决阿!
tyj_3 2007-03-23
  • 打赏
  • 举报
回复
一般的单片机是可以将常量数据放到flash中的
zdcs 2007-03-23
  • 打赏
  • 举报
回复
我在几个文件中定义了几个很大的数组,用于存储字库点阵,但我增加到一定数量时,就出现这种情况呢,

目前我的flash空间还是够用的,RAM空间很小了

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧