发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: xvezhe
手机看帖
扫描二维码
随时随地手机跟帖
21
xvezhe|  楼主 | 2014-2-22 10:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
computer00 发表于 2014-2-22 10:16
把没有调用的函数先注释掉再试试看

我这个程序现才写到一半,没有调用的函数往后用到,但写到后面还需定义一些变量。。。。就这里想请教各位,往下是如何写,变量又是如何定义的。。。

使用特权

评论回复
22
computer00| | 2014-2-22 10:23 | 只看该作者
那你就先调用一下还未调用的函数试试。
因为keil编译器使用了内存覆盖技术,未调用的函数它无法做调用关系分析,从而就无法做内存覆盖处理,就会占很多内存。

使用特权

评论回复
23
mylsf| | 2014-2-22 10:27 | 只看该作者
computer00 发表于 2014-2-21 16:50
将全部编译信息发出来看看。

为什么要把圈圈扔了?

使用特权

评论回复
24
HORSE7812| | 2014-2-22 10:29 | 只看该作者
学习

使用特权

评论回复
25
computer00| | 2014-2-22 10:34 | 只看该作者
mylsf 发表于 2014-2-22 10:27
为什么要把圈圈扔了?

它是旋转着出去的,表示它在转圈……

使用特权

评论回复
26
mylsf| | 2014-2-22 10:47 | 只看该作者
computer00 发表于 2014-2-22 10:34
它是旋转着出去的,表示它在转圈……

哦,:)

使用特权

评论回复
27
南宫云明| | 2014-2-22 12:02 | 只看该作者
没有**完全把,重新下个注册机**一下

使用特权

评论回复
28
86hupeng| | 2014-2-22 13:46 | 只看该作者
用的什么单片机?

使用特权

评论回复
29
xvezhe|  楼主 | 2014-2-22 14:02 | 只看该作者
86hupeng 发表于 2014-2-22 13:46
用的什么单片机?

stc89C52...

使用特权

评论回复
30
ff8zgs| | 2014-2-22 14:13 | 只看该作者
本帖最后由 ff8zgs 于 2014-2-22 14:38 编辑

还是建议LZ看看M51文件 你就知道自己 RAM 怎么分配的了,有针对性的去优化代码。效率更高。同时可以考虑将全局变量和大的数组修饰为idata,如果代码不大的话可以把代码上传,然后我帮你修改修改,我解决这个很有心得。

使用特权

评论回复
31
86hupeng| | 2014-2-22 14:28 | 只看该作者
设置改成XDATA试试

l.jpg (69.72 KB )

l.jpg

使用特权

评论回复
32
ayb_ice| | 2014-2-22 15:29 | 只看该作者
把一些数组定义成char idata my_var[16];类似形式

使用特权

评论回复
33
ZG11211| | 2014-2-22 16:08 | 只看该作者
内存超了,只能将一些对速度要求不高的变量转移到xdata上。

使用特权

评论回复
34
呆板书生| | 2014-2-22 21:31 | 只看该作者
9楼正解

使用特权

评论回复
35
呆板书生| | 2014-2-22 21:32 | 只看该作者
31楼的也是正解

使用特权

评论回复
36
outstanding| | 2014-2-26 10:22 | 只看该作者
恩。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则