目前我用的是IAR 3.10A版本,说实话我学430并应用不到一年,一直使用的IAR的环境,像什么AQ430此类环境没用过(关键AQ430界面我觉得不符合我的工作习惯,可能由于以前用keil多了吧,呵呵)。可能没资格说太多关于IAR的不好,但是就这短短时间内,我是发现了IAR这环境确实出现很多让人觉得不爽的问题。可能很多人都有同感,细想就知道了,为什么一个软件发布间隔期那么短,2.20――>3.10――>3.20――>3.30――>??呵呵,看来IAR公司的程序员也知道他们逻辑思维不够严密,正在象微软一样补这补那的!正版还卖那么老贵,让人有一种怒其不争与受骗的感觉。所以我不会买正版也买不起,手头也有3.10与3.20版本,比较后发现没什么长进。废话少说吧!!
1.编译器用FET调试时随着下载次数增多,软件运行会越来越慢,直至把电脑拖得慢如蜗牛。实在让人恼火,重启机器还不好使。网上提出我认为还算有效的方法就是把项目删掉重建新项目,这样虽说麻烦点儿,但总比在那死等好。这跟操作系统还无关,98、xp下我都遇到过(在公司我用98,在家用xp),3.10和3.20都有这毛病,不知新出的3.3x是否也有此现象?有的人说这是盗版原因造成的,可我在网上也看到用正版的网友也出现过类似情况,真是无可救药!!
2.FET调试时,有时在watch窗口看不到变量值,更气人的是有时竟然连全局变量都看不见,局部变量就更别说了。所以调程序时很多都是把局部变量全改成全局变量,要不然想把程序调好就像在黑夜里找黑人一样难(自己还不是高手,所以还是得一步步来,呵呵)。重启电脑――再调――不好使――再重启电脑……累死啦!这个问题至今我没有好的解决方法,哪位朋友有什么好的招数希望能跟大家共享一下。
3.还有一点就是在调试时(好像Sim、FET下都存在,有点儿忘了),step or stepover时,那个绿色条(姑且先认为是代码运行指示条吧)有时候就看不见,搞得以为程序没运行呢,停止之后还不知道程序停在什么地方,把自己弄得满头雾水!个人总结可能由于运行Debug时,把汇编窗口关了之后(有时觉得汇编窗口碍眼,直接在C里看多爽!还能有更大视觉空间),出现此种情况几率比较大,所以当我遇到此类情况时,只把汇编窗口压成一小竖条窗口,虽说还是有点儿碍眼,但总比看不见绿条感觉好些!大家有什么更好的解决方法?
4.声明过的某些变量(局部的变量、指针等,全局的好像没见过出现此种情况)编译时出现警告,说定义了但没使用??但程序里明明都赋值了!也作为参数传了!搞不清楚这软件是怎样的逻辑!!虽说是警告,但无论怎样都让人觉得无法理解,心里总是有些许不爽。这种问题我实在找不出根源,没有好的应对方法。诸位有遇到过此种情况吗?怎么解决的?不妨共享一下!
5.软件仿真时,各种中断是不会像keil那么方便有效地执行,假如你不作某些设置的话,永远也进不了中断服务程序,这在定时器作为精确定时时运用非常不便。这是我在调ucosII时发现的,由于当时懒得连到目标板,所以走了不少弯路,郁闷啊!而且设置产生中断服务的参数是以时钟周期数来衡量的,还得算1/f才知道定时时间,忒麻烦!这倒不是软件的Bug,应该说是IAR的programmer的想法独特!
6.最后一点就是关于编译器整体的毛病(我是这么认为的),我用的是3.10,就以它来说吧。这个版本在98下安装,按照默认设置它识别不了中文(/*注释内容*/),必须在字体里选好字体才可以。而且最气人的一点就是不支持中文路经与中文项目名(公司不给我装xp,所以项目名都是英文的,不过还能习惯)。而这种情况在xp下就完全没有,装完后就可以直接识别中文,包括注释、项目名、路经等。看来还是IAR软件的兼容问题啊!
以上就是我这段时间以来用IAR的东西总结出来的,可能有些表述不当,但确确实实是我亲身经历过的。可能它还有别的问题,只是我没发现,大家若发现有其他问题不妨也提出来,共同探讨吗,少走弯路!我就纳闷了,为什么就不能做得像keilc那么稳定呢?感觉像带了点儿肉的鸡肋!