為什麼Keil比IAR更受歡迎?

01 


前言
說起Keil、IAR,你可能覺得這種整合開發環境介面比較古老,又不好用。但這裡告訴大家一個事實:不管是微控制器初學者、還是開發者,使用Keil和IAR的佔比相對其他工具都要高,而且,不止高一點點
試問一下,這裡做微控制器開發的朋友,有多少人沒有接觸過 Keil 或者 IAR ?
據不完全統計,初學微控制器的人,90%以上的人都會接觸 Keil 或者 IAR。同時,很多工作十年以上的老工程師,長期堅持用Keil作為主力工具。

其實,還有一個現象可以說明Keil和IAR是微控制器的主力開發工具,那就是很多MCU廠商推薦使用的IDE,或者提供程式碼例程就是Keil,或者IAR的工程,特別是國產32位MCU(這裡自己去官方可以得到答案)。
02 


選擇Keil,還是IAR?
上面說了Keil、IAR是目前主流的微控制器整合開發環境,那麼該選擇Keil,還是IAR呢?
我的答案是:你兩個都安裝來用一段時間,你覺得哪個更適合你,或者說你用哪個更順手,就用那個。
我的原則是:沒有最好,只有適不適合。

但是有一點,在做出選擇之前,需要自己多去了解,多去嘗試。你沒有嘗試怎麼知道究竟適不適合你呢?

這裡說回Keil、IAR選擇的問題,從我觀察和了解的情況:選擇Keil比選擇IAR的人更多
不管是後臺訊息,還是微信交流群或私信,討論更多的還是關於Keil的內容,討論IAR的內容相對更少。
也就是說,目前整體情況是:Keil相比IAR更受歡迎
03 


Keil為何比IAR更受歡迎?
Keil 和 IAR 都是目前開發微控制器的主流IDE,但兩者一對比,Keil還是勝過IAR,我這裡分析有以下幾點原因。
1、Keil 更適合初學者
微控制器初學者很大一部分是從51學習過來的,而Keil C51又是C51微控制器的最佳選擇,從而一大批初學者選擇了Keil,以至於工作之後繼續使用Keil作為主力開發工具。
同時,這批初學者在使用32位微控制器(比如:STM32、GD32)也把Keil作為主力發開工具。
2、Keil 安裝檔案更小
Keil和IAR針對不同型別的微控制器有不同版本的軟體,Keil有四種:C51、C251、C166、MDK等。IAR更多:EW8051、EWAVR、EWMSP430、EWSTM8、EWARM等多種。
但是,不管那個版本,透過“橫向對比”,不管是安裝包、安裝時間、安轉後佔用硬碟空間,Keil都更勝一籌。
Keil安裝包更小:
但是,同類型軟體的安裝檔案,Keil會更小。比如針對51的最新版本的Keil C51 V9.61只有104M,而IAR EW8051 V10.40卻有421M。

同樣,其他版本,比如:Keil MDK V5.38a 只有887M,而IAR EWARM V9.40.1卻有1.61G大小。

Keil安裝時間更短:
安裝時間沒辦法量化,不同配置電腦都有差異。
但在同一臺電腦上,透過對比安裝時間,Keil 和 IAR 安裝的時間有明顯差異,特別是ARM版本軟體,比如最新版的Keil MDK V5.38a可能只要2分鐘就安裝完成了,而最新版的IAR EWARM V9.40.1可能10分鐘都還安裝不完成。
Keil安裝後文件更小:
不只是安裝包更小,Keil安裝之後所佔用的檔案(資料夾)也更小。特別是對於ARM版本的軟體,比如:Keil MDK V5.36安裝後文件只佔用2.7G硬碟,而IAR EWARM V9.30卻佔用了8G空間。
3、Keil 對電腦配置要求更低
如果你拿出10年前的電腦,使用 Keil 還能勉強應急一下,但是,IAR就有點難以忍受了。

當然,這裡指的是同等情況下(安裝同一時期的軟體),比如:使用Keil MDK V5.30 和 IAR EWARM V8.50,你會發現使用 IAR EWARM時,CPU佔用率會飆升,然後風扇會讓你難受。
4、Keil除錯更方便
要說除錯,像STM32、GD32這種ARM核心的晶片,如果Keil MDK敢說第二,我覺得沒有誰會說第一。
為什麼呢?因為Keil和STM32都是ARM的“親兒子”,當然,可能極少、個別除錯功能/元件,其他工具會好一點,但整體而言,Keil 的除錯功能還是更好。
當然,IAR的除錯功能,相比其他很多廠商工具的除錯功能也不弱,至少絕大部分常用功能都還可以。
5、Keil相容性更好
這裡還是拿Keil MDK 和 IAR EWARM作對比。
你會發現:用 Keil 高版本的軟體開啟低版本的工程檔案,基本沒什麼問題。比如:用Keil MDK V5版本軟體,開啟V4版本的軟體,可以直接開啟。官方做了相容,只需要點選“遷移”即可。
而IAR EWARM,跨大版本之後,開啟各種問題,特別是前些年從V6、V7、V8這種跨越大版本的情況下。
當然,Keil也存在相容性問題的情況,但整體而言,沒有IAR那麼多問題。
最後,歡迎大家留言討論:你選擇Keil,還是IAR呢?原因是什麼?


相關文章