• <tr id='2TqDVf'><strong id='2TqDVf'></strong><small id='2TqDVf'></small><button id='2TqDVf'></button><li id='2TqDVf'><noscript id='2TqDVf'><big id='2TqDVf'></big><dt id='2TqDVf'></dt></noscript></li></tr><ol id='2TqDVf'><option id='2TqDVf'><table id='2TqDVf'><blockquote id='2TqDVf'><tbody id='2TqDVf'></tbody></blockquote></table></option></ol><u id='2TqDVf'></u><kbd id='2TqDVf'><kbd id='2TqDVf'></kbd></kbd>

    <code id='2TqDVf'><strong id='2TqDVf'></strong></code>

    <fieldset id='2TqDVf'></fieldset>
          <span id='2TqDVf'></span>

              <ins id='2TqDVf'></ins>
              <acronym id='2TqDVf'><em id='2TqDVf'></em><td id='2TqDVf'><div id='2TqDVf'></div></td></acronym><address id='2TqDVf'><big id='2TqDVf'><big id='2TqDVf'></big><legend id='2TqDVf'></legend></big></address>

              <i id='2TqDVf'><div id='2TqDVf'><ins id='2TqDVf'></ins></div></i>
              <i id='2TqDVf'></i>
            1. <dl id='2TqDVf'></dl>
              1. <blockquote id='2TqDVf'><q id='2TqDVf'><noscript id='2TqDVf'></noscript><dt id='2TqDVf'></dt></q></blockquote><noframes id='2TqDVf'><i id='2TqDVf'></i>
                米爾淘寶店| 米爾電子| 米爾微博| English

                Keil MDK 和 IAR 兩款ARM開發工仿佛是在印證道塵子具區別比較

                文章來源:米爾科技 發布日期:2013.11.22 瀏覽次數:67255 次

                首先要說明,沒有那款開發工△具是萬能的,也沒有那款工具在所有方面都具有絕對優勢。對於Keil MDK-ARM和IAR兩款工具擇→,可以根據自己的●習慣來選擇,而不應該在使用其中的一款時¤貶低另外一款,或者總是贊美自己的選擇。


                好了,下面開始講Keil MDK-ARM和IAR的區別。


                一、概述


                Keil MDK-ARM(舊稱RealView MDK)開發工具源♀自德國Keil公司,被全球ξ 上百萬的嵌入式開發工程師驗證和使用,是ARM公司目前最新推出的針對各◥種嵌入式處■理器的軟件開發工具。

                KEIL MDK集成了業內最領先的技術,包括uVision3、uVision4、uVision5集成開發▓環境與 ARM編譯器。支持ARM7、ARM9、Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4、Cortex-R4內核核處理器。

                Keil MDK可以自動配置啟動代ㄨ碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與ARM之前的工具沒錯包ADS等相比,ARM編譯№器的最新版本可將性能改善超過20%以上。
                  
                IAR Embedded Workbench是一套用於編譯和調試嵌入式系統應用程序的⊙開發工具,支持匯編、C和C++語言。它提ζ供完整的集成開發環境,包括〗工程管理器、編輯器、編譯鏈接工具和C-SPY調試器。IAR Systems以其高度優化的編譯器而聞名。每個C/C++編譯器不僅包含一般全局性的優化,也包含針對特』定芯片的低級優化,以充分利用您所選芯片的所有特性,確保較〓小的代碼尺寸。IAR Embedded Workbench能夠支持由不︽同的芯片制造商生產,且種類繁多的8位、16位或32位芯片。


                二、區別


                 1、MDK不∏支持層疊文件夾,在文件夾的下一級中必須為文件;IAR支持層疊,可以比較方便管理代碼,理清層次。

                            


                2、MDK連接library,直接添加到文件夾即可;IAR則需要從工程中選項中設置。這應該不算什麽問題,畢竟大多數▲IDE都是〓這麽做的,但最讓人很郁悶的是,IAR不能采用相對路徑。比如../MUF/MUF.LIB在編譯時,就會連接到別的目錄,只能采用d:/MUF/MUF.lib絕對路徑的形式看似很長。


                3、 MDK支持dynamic_cast<>運算符,而IAR文檔中明確表示不支※持。如果在IAR中強行使用該運算符,則編譯會報錯:

                Error[Pe020]: identifier "dynamic_cast" is undefined


                4、MDK默認只創建工程,工作區是不會直接創建。如果想多個工程聚合,則首先需要創建一個multi的工作區,然後再添是這個主意加相應的工程。  IAR,默認是創建工程和工作區,如果想多個工程並威壓存,直接添加即可。  相比之下,MDK創建工程的〒文件比較少,而IARM創建工程生成的文件比較多。


                5、MDK編譯時,只有level的選擇;IAM有debug和Release的快速選擇


                6、默認狀態,MDK的工他再清楚不過具欄功能比較多,有點繁雜;IAM的比較簡潔,但相對,也比較單↓薄。


                7、MDK的C++有std::這個命名空間;IAR下面身子被狠狠拋飛了出去的所有容器和算法,都不采用std命名空間


                8、MDK的程序文盡在|件,最後必須要有一個新的空行,否則會有編譯警告:

                warning:  #1-D: last line of file ends without a newline


                一般來說,如果主∞要是采用C,並且也不會有太多的library需要連接,MDK和IAR都能勝任。不過 卻是突然按住了她這種情形就比較推薦IAR,因為其非常簡潔,上手也快,代碼層次也能清晰明了。
                  
                如果主要是采用C++,並且用到很多特性,或是需要有多個工程進行協作,那麽註定只能選擇MDK,只不過這樣就一定要每個文件最後加上新】的空行了。



                本文來自米爾科技,原文地址: /resource/508.asp,轉載請註明出處。

                比較和選型

                手冊教程

                應用筆記

                好書推薦

                技術支持服務指ζ南

                常見問題解答