IAR FOR ARM 6.40

[复制链接]
8830|11
 楼主| kalay 发表于 2012-10-15 11:24 | 显示全部楼层 |阅读模式
最近在官网下了一个评估版IAR FOR ARM 6.40试用,项目试用UCOS-II运行,发现任务函数中的局部变量(local窗口中查看,RAM中的数组)全部显示unavailable,但是程序运行正常,查看RAM区数据均正常,原先该项目在5.41中运行十分正常,不知何原因,请高手不吝赐教
阿南 发表于 2012-10-15 11:44 | 显示全部楼层
局部变量只在作用域范围内才有效的,而你是全速运行,unavailable是正常现象。
 楼主| kalay 发表于 2012-10-15 16:36 | 显示全部楼层
非全速运行,是单步执行的
阿南 发表于 2012-10-15 17:38 | 显示全部楼层
如果是单步执行,PC需要指向局部变量的作用域范围内,也就是该局部变量定义的所在函数内。
 楼主| kalay 发表于 2012-10-16 09:29 | 显示全部楼层
呵呵!多谢你,查看局部变量当然是在作用域范围内,相同条件下载5.41中就是正常的,我现在怀疑是否是软件设置问题,更改许多选项忍不能奏效,所以在此才向各位高手请教的
阿南 发表于 2012-10-16 09:37 | 显示全部楼层
你可以自己定义一个局部变量,测试一下是否有问题。
wlq_9 发表于 2012-10-16 18:48 | 显示全部楼层
无用的局部变量优化掉了。
放最低优先级试试。
 楼主| kalay 发表于 2012-10-17 14:03 | 显示全部楼层
多谢各位!你们提的意见我之前都试过了,都不能解决。今天特地做了测试,发现IAR6.40在,函数中定义的RAM变量若其后为死循环且判断值为一常数时(我用的是do循环,操作系统任务函数),调试时RAM变量均显示unavailable,只要对循环加一条件永远不成立的循环判断变量就可以了,至于啥原因,我估计是被优化了,由于开发任务紧迫,没有时间深层次查找原因,也咨询过IAR中国技术支持,说没碰到过该现象,无法解决,很是郁闷,敬请哪位高手知道原因,请顶贴!!!本人不胜感激
阿南 发表于 2012-10-17 14:35 | 显示全部楼层
问题解决就好,呵呵。
clingos 发表于 2012-10-24 13:24 | 显示全部楼层
是的,IAR6.4中,我也遇到同样的问题,多任务的程序中,各个任务函数的局部变量在调试时是显示无效,但是使用通过汇编发现,其分配了内存。但就是调试是示显示。
不知这算不算是一个BUG!
clingos 发表于 2012-10-24 13:29 | 显示全部楼层
http://www.amobbs.com/thread-5497678-1-1.html

请看上面的帖子,给出了相关的源码示例,在仿真调试时可以观察到现象!
anvy178 发表于 2012-12-14 10:11 | 显示全部楼层
来顶贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部