打印

CodeWarrior怎么优化?

[复制链接]
3973|4
手机看帖
扫描二维码
随时随地手机跟帖
沙发
hustpbr|  楼主 | 2007-12-29 13:13 | 只看该作者

我做了一个测试

#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

void MCU_init(void);
int data_test[128];
int test;

void main(void) {

  MCU_init();
  for(;;) {
    PTFD = 0XFF;
    test = MCU_test(data_test);
    PTFD = 0X000;
  }
}

int MCU_test(int *d) {
  char i;
  int max = 0;
  for(i=0;i<64;i++) {
    *(d+i) = i+256;
  }
  for(i=0;i<64;i++) {
    if(*(d+i) > max) {
      max = *(d+i);
    }
  }
  return(max);
}

(1)AW32,内部时钟频率为39.98MHz,PTFD上输出2.57K的脉冲。

(2)AVR-M16,内部8M,IAR编译器,不优化输出1.68K的脉冲,优化后输出5.91K的脉冲。AVR的性能还是很好,IAR编译的优化效果很捧!

不知道CodeWarrior编译器的优化效果怎么样?要是不优化,和AVR比,性能还是差蛮多。

我是初学者,见笑了!

使用特权

评论回复
板凳
ayb_ice| | 2007-12-29 13:51 | 只看该作者

怎么优化只有写统编译器的人知道

使用特权

评论回复
地板
win2000_li| | 2007-12-29 23:21 | 只看该作者

顶一个!!!!!!

看一看,有没有相关的回答啊!!!!

使用特权

评论回复
5
dongshan| | 2008-1-16 15:54 | 只看该作者

CW08编译器不是很好。

  就是按默认的优化设置,我的代码有些被优化掉了,从而造成错误,后来干脆禁止了优化。这才正常
  cw08生成的代码质量不高,写了一个简单的C++程序,908jl3竟然提示ram不够用,换成iar在51环境下,则编译通过。


使用特权

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

本版积分规则

3

主题

10

帖子

0

粉丝