求教:keil编译大于64KB的程序

风信子yiyi   2012-8-16 17:40 楼主
[img]最近为这个问题很头疼,虽然网上也有资料,但总讲的也不详细,而且有些提到的东西找不到。有两个问题很烦恼,一、只要程序超过64KB,编译就出错,二、可不可以不指定bank,keil就能自己自动划分呢,对于写程序的人来说,写个C文件就指定一个bank是不是太麻烦了。
我的工程如图所示: project.png
主要配置: output.png device.png target.png

其他的就是默认了。为了是程序总大小超过64KB,我在srcd和srcd1中分别设置了两个大数组,在code区。都不超过32KB。可是无论如何配置各文件的bank,只要程序加数组超过64KB,编译就会报错,提示为地址溢出了。哪位高手指点一下这是 为什么?还有keil是否可以不指定各文件的bank,让各文件的bank选项处于默认状态,keil可以自动划分bank(当程序大小超过64K的时候)?

[ 本帖最后由 风信子yiyi 于 2012-8-16 17:42 编辑 ]

回复评论 (1)

你写的什么程序超过64k?
数据表可以放到任何地方,也可以超过64k。外挂汉字库256k就是这样的。

程序代码不行。好像单片机没有这样的能力。

倒是想过将其他存储器里的代码拷到扩展64k RAM来执行,具体没有这样的项目,所以也没有做过。
点赞  2012-8-16 20:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复