标题: keil编译程序限制64K? [打印本页]

作者: art_jianda    时间: 2018-8-7 15:22
标题: keil编译程序限制64K?
完整的做好了一个程序,结果编译时报内存超出(const)
[size=0.83em]

在网上搜索了一遍,网友说是keil限制了const 和 code 加起来不能超过64K的空间
然后在工程中屏蔽了一些代码,使它少于了64K,结果编译成功

但是代码中是不能进行屏蔽这个数据的 现在想继续使用 且在公司的代码库中找到了以前一个老代码 显示超过64K也能编译成功
[size=0.83em]
这是为什么呢?






作者: yousunny    时间: 2018-8-7 16:12
先表扬你一下,你的体温很清楚。
作者: yousunny    时间: 2018-8-7 16:13
http://blog.sina.com.cn/s/blog_603569750100f2wg.html这个是答案
原理是另一个:
https://zhidao.baidu.com/questio ... 1%B1%CE%C1%CB%D2%BB
--简单说,51一般是64K上限,所以keil那样设置。你要编译更大的肯定是可以的。
作者: xld_shenghuo    时间: 2018-8-7 22:22
学习一下
作者: ahshmj    时间: 2018-8-8 10:14
16位地址线,最大只能到64k,如果需要更大的空间,可以外挂扩展如EEPROM。将数据表之类的内容放到扩展的ROM里面。我曾经做了一个ks0108 无字库的LCD“万年历”,使用的外挂国标全汉字库200多k,就是扩展了两根地址线。
作者: asdasdadadad    时间: 2018-8-8 10:23
无限制,看你芯片大小
作者: lintianda    时间: 2018-8-22 23:05
主要看使用芯片的限制吧
作者: jsq347    时间: 2018-8-23 13:07
跟芯片有关系
作者: ytyt3100    时间: 2018-8-23 13:17
学习学习
作者: xushaoguang01    时间: 2018-8-23 13:48
16位地址线,最大只能到64k,如果需要更大的空间,可以外挂扩展如EEPROM。将数据表之类的内容放到扩展的ROM里面。我曾经做了一个ks0108 无字库的LCD“万年历”,使用的外挂国标全汉字库200多k,就是扩展了两根地址线。
作者: sxhwdz    时间: 2018-8-23 14:59
跟寻址方式有关。51使用的是16位寻址方式,程序与数据分别寻址,因此理论上程序与数据极限各为64K
作者: ahshmj    时间: 2018-8-23 19:37
xushaoguang01 发表于 2018-8-23 13:48
16位地址线,最大只能到64k,如果需要更大的空间,可以外挂扩展如EEPROM。将数据表之类的内容放到扩展的RO ...

你这是在做什么?!

我还以为是我发重了呢!
作者: CrlikenNN    时间: 2018-8-26 09:51
16位地址线,最大只能到64k。
作者: zl2168    时间: 2018-8-26 18:04
16位地址线,最大是2的16次方,65536,即64k
作者: 364401508    时间: 2018-8-27 13:41
软件问题,看看有没有注册
作者: 1313156616161    时间: 2018-8-28 09:32
注册并破解就好了




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