keil U4 写程序,data过大如何处理

[复制链接]
 楼主| xvezhe 发表于 2014-2-22 10:21 | 显示全部楼层
computer00 发表于 2014-2-22 10:16
把没有调用的函数先注释掉再试试看

我这个程序现才写到一半,没有调用的函数往后用到,但写到后面还需定义一些变量。。。。就这里想请教各位,往下是如何写,变量又是如何定义的。。。
computer00 发表于 2014-2-22 10:23 | 显示全部楼层
那你就先调用一下还未调用的函数试试。
因为keil编译器使用了内存覆盖技术,未调用的函数它无法做调用关系分析,从而就无法做内存覆盖处理,就会占很多内存。
mylsf 发表于 2014-2-22 10:27 | 显示全部楼层
computer00 发表于 2014-2-21 16:50
将全部编译信息发出来看看。

为什么要把圈圈扔了?
HORSE7812 发表于 2014-2-22 10:29 | 显示全部楼层
computer00 发表于 2014-2-22 10:34 | 显示全部楼层
mylsf 发表于 2014-2-22 10:27
为什么要把圈圈扔了?

它是旋转着出去的,表示它在转圈……
mylsf 发表于 2014-2-22 10:47 | 显示全部楼层
computer00 发表于 2014-2-22 10:34
它是旋转着出去的,表示它在转圈……

哦,:)
南宫云明 发表于 2014-2-22 12:02 | 显示全部楼层
没有**完全把,重新下个注册机**一下
86hupeng 发表于 2014-2-22 13:46 | 显示全部楼层
用的什么单片机?
 楼主| xvezhe 发表于 2014-2-22 14:02 | 显示全部楼层
86hupeng 发表于 2014-2-22 13:46
用的什么单片机?

stc89C52...

ff8zgs 发表于 2014-2-22 14:13 | 显示全部楼层
本帖最后由 ff8zgs 于 2014-2-22 14:38 编辑

还是建议LZ看看M51文件 你就知道自己 RAM 怎么分配的了,有针对性的去优化代码。效率更高。同时可以考虑将全局变量和大的数组修饰为idata,如果代码不大的话可以把代码上传,然后我帮你修改修改,我解决这个很有心得。
86hupeng 发表于 2014-2-22 14:28 | 显示全部楼层
设置改成XDATA试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2014-2-22 15:29 | 显示全部楼层
把一些数组定义成char idata my_var[16];类似形式
ZG11211 发表于 2014-2-22 16:08 | 显示全部楼层
内存超了,只能将一些对速度要求不高的变量转移到xdata上。
呆板书生 发表于 2014-2-22 21:31 | 显示全部楼层
9楼正解
呆板书生 发表于 2014-2-22 21:32 | 显示全部楼层
31楼的也是正解
outstanding 发表于 2014-2-26 10:22 | 显示全部楼层
恩。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部