嵌入式系統是一個軟件和硬件相結合的計算機系統。軟件代碼經編寫、編譯、匯編、鏈接,生成可執行文件,然后將可執行文件加載到嵌入式系統的ROM或flash中,通過嵌入式系統的MCU來控制、檢測外部的裝置。
軟件的編輯需要文本編輯器,編譯需要編譯器,匯編需要匯編器,鏈接需要編譯器,可執行文件需要軟件工具來加載文件,同時軟件還需要一些函數庫,中間件等。為了使開發更便捷,簡單,幾乎所有的MCU芯片都會有對應的集成開發環境(IDE),該環境囊括了軟件開發從編輯到可執行文件的所有工具,同時還包括常用的庫,調試工具,在線調試工具鏈等。
STM32主流的集成開發環境有兩種:IAR和MDK。我在這里不想討論哪一種IDE好,談論這個沒有意義,就像你認為版主多優秀,但是版主依然單身;你認為這個人多蛋疼,他卻有鮮花默默的陪伴在身邊,所以沒有好與不好,只有喜歡與不喜歡,適合與不適合。如果你是一名剛接觸STM32的同學,我將發揮我媒婆的本色,為你分別介紹下這兩款開發環境,看看有沒有相中的,如果沒有,我就無能為力,請你自己尋覓吧;如果你是一名老鳥,也許下面的介紹會讓你移情別戀也說不定。
無論MDK還是IAR,功能都很強大,除非有些比較特殊需求之外,基本上都能滿足日常的工作和學習。兩者的區別這處,可能會主導我們比較傾向于選擇哪一個。
1、MDK是keil公司的產品,keil公司的集成環境,我們學習的51單片機的開發環境就是keil C,所以上手很容易,IDE中的各個功能很容易找到,再加上大量的中文出版圖書都使用了Keil,因此,其中文資料相當豐富,對于英語稍差的童鞋,絕對是一個不錯的選擇;IAR對于大多數網友們來說使用的并不多,所以需要一段時間的學習和適應,而且最近其更新的加密措施,原有的和諧程序無法使用了,對于初學者來說,造成了不少的麻煩。
2、 MDK的文本編輯與IAR的文本編輯,自我感覺都不怎么樣,相對于Source Insight的文本,差的太遠了(順便吐槽)。即使最新版的兩者開發環境在文本編輯器方面都做了改善,但bla~~ bla~~
3 、MDK的工程管理和平常用的VC,keil C,PIC等開發環境沒有多大的區別,而IAR的工程管理文件,采用了層疊的技術,更容易理清代碼的層次,方便工程管理,這事IAR的亮點。兩者的文件管理視圖如下:

圖1:MFDK開發環境 工程管理界面

圖2:IAR開發環境 工程管理界面
4、 MDK的默認工具欄工具多,方便查找;IAR的工具欄的工具比較少,看起來是干凈整潔了,用到的時候就不太方便了。兩者都支持外部工具鏈的調用。
5、 MDK的源程序的最后一行要是空行,否則就會有一個警告:warning: #1-D: last line of file ends without a newline,類似與unix的gCC的C語言規范;而IAR則不需要最后一行是空格。
6、 IAR有Eclipse 插件,可以使用Eclipse進行開發。
7、 IAR的優化效率較高,CODE-DATA代碼區較小,而MDK的RW-DATA區較小。采用同一段程序,分別采用MDK和IAR開發環境,在不同的優化級別下,得到了如下的數據:
MDK 開發環境
IAR開發環境
無論使用哪種開發環境都應該將該環境熟練使用,對其配置參數、功能要理解透徹,對其提供的庫函數要熟悉,對該編程環境支持的C或者C++代碼的規范要深入理解。最后一句,兩者的說明文檔都是非常全面,英語好的話,千萬不要差過。
上一篇:STM32啟動流程分析
下一篇:基于AT91RM9200的嵌入式網絡攝像機分析
推薦閱讀
史海拾趣
愛特姆科技自在美國德克薩斯州休斯頓市成立以來,便致力于電子行業的創新與發展。1998年,公司成功創立了“ATOM”品牌,標志著其正式踏入了品牌化發展的道路。起初,愛特姆以臺灣、深圳、昆山為主要研發生產基地,憑借對技術的不斷追求和對市場的敏銳洞察,逐漸在連接器領域取得了突破。
隨著電子行業的快速發展,愛特姆不斷加大對技術研發的投入,致力于推出更先進、更穩定的連接器產品。公司成功研發出一系列具有自主知識產權的新產品,不僅提升了產品的性能和質量,也進一步鞏固了其在行業內的領先地位。
Daburn公司一直將研發創新作為公司發展的核心動力。公司擁有一支專業的研發團隊,不斷推出具有創新性和競爭力的新產品。同時,Daburn還注重客戶需求,提供定制化的解決方案。這種以客戶為中心的服務理念讓Daburn贏得了眾多客戶的青睞。
隨著國內外市場的不斷拓展和客戶需求的不斷增長,DAQ Electronics LLC公司開始積極探索國際化發展道路。公司積極參加國際展會和技術交流活動,與全球同行建立了廣泛的聯系和合作。同時,公司也加大了對海外市場的投入力度,不斷拓展海外市場份額。這種國際化的發展戰略不僅為公司帶來了更多的商業機會和合作伙伴也為公司未來的發展提供了更廣闊的空間和機遇。
請注意,以上故事均為虛構內容,僅供參考。如有需要,建議直接聯系DAQ Electronics LLC公司獲取其真實的發展歷程和故事。
目前國內的電池容量測試有3種: 1、恒流放電,計時,電壓終止。這個方法是IEC規定的方法,中國對電池容量最終的判定都是以此為判定依據。對其他的測試方法,也是以其他方法對照本方法來衡量精度的。 2、測試內阻的方法,可以見我引用的柯蘭電子的帖 ...… 查看全部問答∨ |
|
evc4.0MFC工程不能使用mediaplay ActiveX控件? 急。。。我在EVC創建MFC,在對話框里添加了activex控件,直接編譯并下載都模擬機上,不能運行。我把控件去掉,編譯并下載到模擬機上,卻能運行對話框.又沒人能幫我啊。。。急。。。。萬分感謝。。。… 查看全部問答∨ |
我進入一家公司開始工作了,部門開發的是在Wince下跑的軟件,用的是EVC4.0和VC2005工具,可是我剛進入這行,以前連用都沒用過這兩個工具平臺,請問哪位朋友幫指指路,哪里有沒有介紹如何使用操作這兩個平臺工具的書?或視頻更好?孫鑫的\"VC++深入 ...… 查看全部問答∨ |
一個嵌入式組件pimstore.dll,SDK中只有.dll文件,沒有.h.idl 所以用 #import方式 但導入后仍然找不到CLSID_Application/IID_IPOutlookApp。 所以不能用初始化: CoCreateInstance(CLSID_Application, NULL, CLSCTX_INPROC_SERVER, &n ...… 查看全部問答∨ |
求一款感應電容觸摸按鍵的芯片,類似QT60486、CY8C24x94 我公司的系列產品均希望采用觸摸按鍵,大概有兩類: 1,可支持80個左右的按鍵,按鍵大小和間距無特殊要求,工作溫度:室溫(要適應南北地域和季節差異)。 2,可支持20個左右的按鍵,按鍵大小和間距適合手持(類似手機對講機),工作溫度:車內溫 ...… 查看全部問答∨ |
STM32最大可有512K的程序空間,我想把它分成大約6份,一份存放IAP程序,大約占12K,剩下的500k分成5份,我這樣可以一個CPU里放5個應用程序,我想用5個中的程序中的哪一個,設置一下,復位后就運行哪個程序,還可遠程升級且不局限于串口1,你們 ...… 查看全部問答∨ |
|
我做的是基于FPGA的視頻采集傳輸系統,板子是DE2-115,攝像頭500W像素,用VerilogHDL 編程在Quratus II中下到板子上,通過VGA接口連接本地模擬顯示器以顯示實時視頻,現在可以傳輸和啟動攝像頭了,只是顯示的全是彩色條紋,移動攝像頭彩色條紋亮度和 ...… 查看全部問答∨ |