目前我用的是IAR 3.10A版本,說(shuō)實(shí)話(huà)我學(xué)430并應(yīng)用不到一年,一直使用的IAR的環(huán)境,像什么AQ430此類(lèi)環(huán)境沒(méi)用過(guò)(關(guān)鍵AQ430界面我覺(jué)得不符合我的工作習(xí)慣,可能由于以前用keil多了吧,呵呵)。可能沒(méi)資格說(shuō)太多關(guān)于IAR的不好,但是就這短短時(shí)間內(nèi),我是發(fā)現(xiàn)了IAR這環(huán)境確實(shí)出現(xiàn)很多讓人覺(jué)得不爽的問(wèn)題。可能很多人都有同感,細(xì)想就知道了,為什么一個(gè)軟件發(fā)布間隔期那么短,2.20――>3.10――>3.20――>3.30――>??呵呵,看來(lái)IAR公司的程序員也知道他們邏輯思維不夠嚴(yán)密,正在象微軟一樣補(bǔ)這補(bǔ)那的!正版還賣(mài)那么老貴,讓人有一種怒其不爭(zhēng)與受騙的感覺(jué)。所以我不會(huì)買(mǎi)正版也買(mǎi)不起,手頭也有3.10與3.20版本,比較后發(fā)現(xiàn)沒(méi)什么長(zhǎng)進(jìn)。廢話(huà)少說(shuō)吧!!
1. 編譯器用FET調(diào)試時(shí)隨著下載次數(shù)增多,軟件運(yùn)行會(huì)越來(lái)越慢,直至把電腦拖得慢如蝸牛。實(shí)在讓人惱火,重啟機(jī)器還不好使。網(wǎng)上提出我認(rèn)為還算有效的方法就是把項(xiàng)目刪掉重建新項(xiàng)目,這樣雖說(shuō)麻煩點(diǎn)兒,但總比在那死等好。這跟操作系統(tǒng)還無(wú)關(guān),98、xp下我都遇到過(guò)(在公司我用98,在家用xp),3.10和3.20都有這毛病,不知新出的3.3x是否也有此現(xiàn)象?有的人說(shuō)這是盜版原因造成的,可我在網(wǎng)上也看到用正版的網(wǎng)友也出現(xiàn)過(guò)類(lèi)似情況,真是無(wú)可救藥!!
2. FET調(diào)試時(shí),有時(shí)在watch窗口看不到變量值,更氣人的是有時(shí)竟然連全局變量都看不見(jiàn),局部變量就更別說(shuō)了。所以調(diào)程序時(shí)很多都是把局部變量全改成全局變量,要不然想把程序調(diào)好就像在黑夜里找黑人一樣難(自己還不是高手,所以還是得一步步來(lái),呵呵)。重啟電腦――再調(diào)――不好使――再重啟電腦……累死啦!這個(gè)問(wèn)題至今我沒(méi)有好的解決方法,哪位朋友有什么好的招數(shù)希望能跟大家共享一下。
3. 還有一點(diǎn)就是在調(diào)試時(shí)(好像Sim、FET下都存在,有點(diǎn)兒忘了),step or stepover時(shí),那個(gè)綠色條(姑且先認(rèn)為是代碼運(yùn)行指示條吧)有時(shí)候就看不見(jiàn),搞得以為程序沒(méi)運(yùn)行呢,停止之后還不知道程序停在什么地方,把自己弄得滿(mǎn)頭霧水!個(gè)人總結(jié)可能由于運(yùn)行Debug時(shí),把匯編窗口關(guān)了之后(有時(shí)覺(jué)得匯編窗口礙眼,直接在C里看多爽!還能有更大視覺(jué)空間),出現(xiàn)此種情況幾率比較大,所以當(dāng)我遇到此類(lèi)情況時(shí),只把匯編窗口壓成一小豎條窗口,雖說(shuō)還是有點(diǎn)兒礙眼,但總比看不見(jiàn)綠條感覺(jué)好些!大家有什么更好的解決方法?
4. 聲明過(guò)的某些變量(局部的變量、指針等,全局的好像沒(méi)見(jiàn)過(guò)出現(xiàn)此種情況)編譯時(shí)出現(xiàn)警告,說(shuō)定義了但沒(méi)使用??但程序里明明都賦值了!也作為參數(shù)傳了!搞不清楚這軟件是怎樣的邏輯!!雖說(shuō)是警告,但無(wú)論怎樣都讓人覺(jué)得無(wú)法理解,心里總是有些許不爽。這種問(wèn)題我實(shí)在找不出根源,沒(méi)有好的應(yīng)對(duì)方法。諸位有遇到過(guò)此種情況嗎?怎么解決的?不妨共享一下!
5. 軟件仿真時(shí),各種中斷是不會(huì)像keil那么方便有效地執(zhí)行,假如你不作某些設(shè)置的話(huà),永遠(yuǎn)也進(jìn)不了中斷服務(wù)程序,這在定時(shí)器作為精確定時(shí)時(shí)運(yùn)用非常不便。這是我在調(diào)ucosII時(shí)發(fā)現(xiàn)的,由于當(dāng)時(shí)懶得連到目標(biāo)板,所以走了不少?gòu)澛罚魫灠。《以O(shè)置產(chǎn)生中斷服務(wù)的參數(shù)是以時(shí)鐘周期數(shù)來(lái)衡量的,還得算1/f才知道定時(shí)時(shí)間,忒麻煩!這倒不是軟件的Bug,應(yīng)該說(shuō)是IAR的programmer的想法獨(dú)特!
6. 最后一點(diǎn)就是關(guān)于編譯器整體的毛病(我是這么認(rèn)為的),我用的是3.10,就以它來(lái)說(shuō)吧。這個(gè)版本在98下安裝,按照默認(rèn)設(shè)置它識(shí)別不了中文(/*注釋內(nèi)容*/),必須在字體里選好字體才可以。而且最氣人的一點(diǎn)就是不支持中文路經(jīng)與中文項(xiàng)目名(公司不給我裝xp,所以項(xiàng)目名都是英文的,不過(guò)還能習(xí)慣)。而這種情況在xp下就完全沒(méi)有,裝完后就可以直接識(shí)別中文,包括注釋、項(xiàng)目名、路經(jīng)等。看來(lái)還是IAR軟件的兼容問(wèn)題啊!
以上就是我這段時(shí)間以來(lái)用IAR的東西總結(jié)出來(lái)的,可能有些表述不當(dāng),但確確實(shí)實(shí)是我親身經(jīng)歷過(guò)的。可能它還有別的問(wèn)題,只是我沒(méi)發(fā)現(xiàn),大家若發(fā)現(xiàn)有其他問(wèn)題不妨也提出來(lái),共同探討嗎,少走彎路!我就納悶了,為什么就不能做得像keilc那么穩(wěn)定呢?感覺(jué)像帶了點(diǎn)兒肉的雞肋!