打印
[ZLG-ARM]

IAR 4.42A 对Cortex-M3有Bug,提请各位小心

[复制链接]
3006|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seawwh|  楼主 | 2009-2-5 20:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/******************************************************
测试情况如下:
1. IAR 4.42A 对Cortex-M3 会发生错误; 正确返回应为 0x00
2. STM32 or Luminary 均会出错;
3。测试的优化=None Or Low;
4. IAR 5.02/5.03 改正了此错误
******************************************************/
typedef  unsigned char  u8;
typedef  unsigned long  u32;

u8 BugTest(void);
u8 BugTest(void) {
u32  CC;
u8   AA,BB=0;

    CC = 0x12345678;
    AA = CC >> 8;
    BB |= (AA & 0x80) >> 7;  
    return BB;    // 错误结果BB=0x68
}
/******************************************************/
static u8 TT;
int main() {
u8 WW;
    TT=BugTest();
    WW=TT;
}

相关链接:https://bbs.21ic.com/upfiles/img/20092/200925195931693.rar

相关帖子

沙发
hotpower| | 2009-2-5 21:52 | 只看该作者

与volatile无关~~~

static u8 TT;
int main() {
u8 WW;
    TT=BugTest();
    WW=TT;
}
这个程序TT和WW无用都应该被优化~~~

改为:
static u8 TT;
int main() {
u8 WW;
    TT=BugTest();
    WW=TT+1;
    while(WW)
    {
//.....
    }

}

使用特权

评论回复
板凳
wlq_9| | 2009-2-6 08:56 | 只看该作者

LS

出问题的不是被优化,而是函数返回值不对.

使用特权

评论回复
地板
zcying| | 2009-4-9 16:09 | 只看该作者

多谢提醒……

使用特权

评论回复
5
reeper| | 2009-4-9 17:28 | 只看该作者

使用特权

评论回复
6
zcying| | 2009-4-14 10:51 | 只看该作者

路过

使用特权

评论回复
7
胡刚| | 2009-4-14 15:37 | 只看该作者

好心人啊!不过我不用这个软件啊

使用特权

评论回复
8
hjiongh| | 2010-8-31 14:27 | 只看该作者
那这个算bug吗

使用特权

评论回复
9
maoyanketi| | 2010-9-12 20:56 | 只看该作者
楼上说法不一,也不知道到底是什么问题

使用特权

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

本版积分规则

145

主题

368

帖子

1

粉丝