4932|5

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

keil 优化器 惹得祸? [复制链接]

事情是这样的,我使用keil编写代码,目的是对flash进行擦写读的操作。调试的时候是分阶段调试的。就是先调试擦,在调试写和读。现在各个操作可以分别独立运行了。但是在整合到一起的时候出了问题。问题是:
1、擦操作使用keil的优化器为0或者1。
2、写和读用的优化器是8,而且写和读只能在8下运行。
我将1复制到2的工程里。但是1在优化器8方式下不能工作。而2只能在优化器8下工作。这就形成了一个矛盾。两个不兼容,不能一起执行。请大家帮忙看看。谢谢

另:我已经将优化器调成0了,也不行。读和写的操作只能工作在优化方式8下。很奇怪啊。

最新回复

不知道,以前和你遇到的问题差不多。后来莫名其妙好了。郁闷中,估计是代码的写法。 真要想要节省点空间,你还可以把那个global register coloring 勾选。但是结果怎么样还要好好测试之后才能定下来。 用的是STC的片子。  详情 回复 发表于 2009-6-22 17:01
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的分析不是很令人信服, 估计与优化没有直接的关系。

如果不优化都没法工作,估计还是代码的问题。调试时候CPU的行为和正常运行时有较大的差异。
具体的不好说, 你可以看看相关文档。
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
这个不成功,多半是代码的耦合问题

呵呵

还有就是变量的存放空间,在多处访问的变量间用volatile声明一下

然后,还可以看看多个模块点的接口应用模式

然后再重新修正设计,看看
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
优化肯定会有影响,我为这事折腾了两天,本来我的代码空间只剩下了几十个字节,又要增加新功能,于是选了 9 和 favor size,结果代码不能在两种极相似的芯片上兼容,这两种芯片一种带国密算法,一种不带,带来的影响不是能不能调用这个算法,而是芯片根本就不工作。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
学习
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

6
 
不知道,以前和你遇到的问题差不多。后来莫名其妙好了。郁闷中,估计是代码的写法。

真要想要节省点空间,你还可以把那个global register coloring 勾选。但是结果怎么样还要好好测试之后才能定下来。

用的是STC的片子。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表