硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1915|回复: 2
收起左侧

[IAR] IAR 8.30.1遇到问题

[复制链接]

59

主题

284

回帖

461

积分

高级会员

积分
461
发表于 2018-9-4 11:15:01 | 显示全部楼层 |阅读模式
在先前版本编译和运行都正常的程序,用IAR 8.30.1重新编译再运行,发现程序运行不正常。
然后调试跟踪进去,发现编译器代码优化有问题,我在一个while中等待一个全局变量的某个标志置起,但置起是在某个中断中完成的,跟踪进去的时候发现程序只读一次该变量,不会连续读取。
程序结构如下:
while( vari == xx)
{
}
vari为全局变量名,xx为值。

原来编译器优化等级为高级,然后我把编译器优化等级设为低级或中级,该问题解决!奇怪!
希望各位也注意。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106974
QQ
发表于 2018-9-4 11:43:46 | 显示全部楼层
变量加上volatile试试。

点评

加上应该可行,但要改的地方可能不止一个,万一遗漏可能就会存在bug  发表于 2018-9-4 17:12
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 09:58 , Processed in 0.248368 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表