ARM 開發工具 Keil和DS-5的比較。


http://www.eeboard.com/bbs/thread-25219-1-1.html

如今ARM 體系架構的處理器在嵌入式市場上呼風喚雨,從低端的MCU 應用到高端的多媒體消費電子,移動設備領域,工業控制,醫療設備,汽車電子等,到處是ARM 架構處理器大軍的身影。
ARM 開發工具就是ARM 公司為龐大的各領域工程師和開發人員裝備的完整的開發工具鏈,幫助迅速搭建開發平台,降低開發的成本和難度,縮短開發周期,讓工程師們盡情享用ARM 架構處理器這道‘饕餮大餐’。
這里我將針對ARM 開發工具的各種產品分類及功能特性做一個詳細的講解和對比,希望能幫大家區分理解各個開發工具的優點特長,為自己的開發平台選擇合適的開發工具。

 

ARM開發工具之DS-5
2011 年隨着ARM 新發布幾款新的Cortex-A 系列內核和Big.LITTLE 技術,以及即將推出的下一代ARMv8 架構體系,RVDS 已經漸漸無法滿足新設備支持和日益復雜的Soc 系統開發的需求,應機而推出的的DS-5 在以下幾個功能有特別的亮點.
1.      ARM原廠提供的ARM CC編譯器,有效
2.      支持最所有的ARM內核,包括Cortex-A15/A7/A12,Cortex-M/R系列以及新增的對A50即ARMv8架構的支持。
3.      支持Big.LITTLE多核調試技術。
4.      更為靈活,強大和使用簡單的調試器,支持Linux/Andriod系統內核調試(驅動開發由此變得簡單了)。
5.      應用程序性能分析器Streamline,有效分析應用代碼執行效率,簡單易懂的圖形化表示,幫助改善代碼性能和瓶頸。
6.      支持新一代的高速調試仿真器DSTREAM,支持4GB的Trace 空間。

                                           <ignore_js_op>DS-5功能框圖 
                                                    圖1  DS-5功能框架

        ARM 看上了移動消費市場的巨大蛋糕,日漸復雜的Soc 系統開發和多核處理器更新,產品開發的成本更多是發生在軟件開發階段,在DS-5 在增加了Linunx/Andriod 系統內核調試滿足市場對復雜Soc 系統開發的要求,圖形化代碼性能分析器streamline 等重要的功能更是讓工程師節省了大量的開發的時間,有效的突破了軟件開發的瓶頸,幫助產品更快的推向市場,大大的降低了軟件開發環節的成本。對於快速更新換代的移動消費設備而言,最快的推出新產品才能在這個市場保持做大稱霸。根據我們日常的銷售數據統計,幾個主要的半導體原廠高通,華為,三星,全志,炬力等都在全面更新DS-5 開發工具了,所以下游的ODM/OEM, 手機平板及移動設備開發商很快就將隨着半導體原廠工具平台更新使用DS-5 開發工具。
我們的FAE 支持人員每天忙着跑華為高通的實驗室支持他們使用DS-5 DSTREAM ,並為這些原廠建立了支持熱線,協助他們更新DS-5 開發工具平台,支持調試他們最新發布的CPU DS-5 通過眾多半導體巨頭用戶證明了自己的強大和有效,DS-5 將被環繞在這些巨頭中間大放異彩,成為行業開發工具的頂級明星!
如果各位ARM 嵌入式工程師想進入華為,高通等高薪大企業,提前學好DS-5 吧,這絕對是你打動面試官最有說服力的理由!
                                                <ignore_js_op> Streamline

                                                                    圖2 Streamline功能截圖

由於篇幅所限我將另行起文,圖文並茂的解析DS-5 ,記得來關注哦

 

ARM開發工具之KEIL
     談起KEIL ,相信上點年紀的單片機工程師都會有種初戀的感覺濕潤了眼眶,多少個日夜,這個界面uVision IDE 陪伴着年輕的你熬夜奮斗到天明,多少個分分秒秒,她陪伴你從一個初級的單片機菜鳥努力慢慢成長為一個經驗豐富的嵌入式工程師….. 來個玉照回味一下。

<ignore_js_op>KEIL2 <ignore_js_op>KEIL3 
                    圖3 KEIL uVision2  啟動界面                                    圖4 KEIL MDK 啟動界面

         KEIL  是得到了超過10 萬名資深工程師認可的世界領先的開發工具,它具有強大的功能和易用的開發環境,通過多年的積累,KEIL 在廣大的MCU 應用領域擁有龐大的忠實用戶群體,對於喜歡死磕的工程師而言,KEIL uVision 就是初戀,那就是真愛…………
      正准備大舉進軍MCU 市場的ARM KEIL 公司兩眼一相望,基情迸發,那是如膠似漆, 恩愛到白頭…..
2005 10 月,ARM 正式全資收購KEIL ,把KEIL 工具納入自己的工具鏈體系,幫助現有的8/16 位工程師群體順利轉移到ARM 32 Cortex-M 平台上,這也是后來KEIL MDK  后來為什么會有Realview 標識的原因,請看上圖對比。
           當 時ARM的收購聲明這樣說到:”ARM確認MCU市場將會是極為重要的業務增長方向,通過這次的收購建立一個完善和更具說服力的解決方案幫助ARM加速在這個MCU市場的進軍;伴隨MCU應用正從8/16位的解決方案向32位的發展,我們專門為微處理應用器定制的Cortex-M 系列處理器加上高性能的Realview 編譯器和KEIL的MUC工具鏈補充,將開辟新一代的ARM MCU 解決方案”
MDK(Microcontroller Development Kit) 就是作為KEIL 支持ARM 設備的版本名稱。
MDK 對應的原來的KEIL 系列分別是
C51 開發工具系列 (C51Development Tools)  是支持8051 系列微處理器的編譯開發工具,支持所有主要半導體廠商
8051 列新品。C51 開發工具系列包含A51 匯編器,CA51 編譯器( 含匯編器A51) PK51
  PK51 的全稱是PK51 Professional   Developer’s Kit, 包含CA51 編譯器,調試器,Hex 轉換器等等。所以從這描述可以看出,
  PK51  是最全的C51 開發工具,A51 CA51 都是其中的一個部分而已,各位沒用過KEIL uVision 的采購人員應該明白這幾個
  產品 之間的關系了吧。
C166 開發工具系列(C166 Development Tools)  是支持 XC16x,C16x,   ST10 系列微處理器的開發工具。 C166系列
   又包含 A166,CA166和PK166,它的區分原理和C51系列一樣,這里就不再贅述。
DK251開發工具系列(C251Development Tools)  是支持  251 微處理器架構系列的開發工具。

 

MDK 作為KEIL 工具里的主角,這里我們重點描述一下它的功能優點。
1. 支持超過900多種設備,包含ARM7/ARM9,ARM Cortex-M系列等體系架構的CPU,幾乎市場上半導體原廠出這幾種架構
   CPU 都支持。自從有了她,你也再不用因為換芯片平台而找新的開發工具而苦惱了。
2. 早已被我們熟知的uVision IDE環境友好易用,功能強大,目前升級到uVision5更是煥然一新。
3. 全功能的RTOS實時操作系統RTX,提供源碼。
4. 廣泛的中間庫支持,幫助用戶很容易的搭建起輔助的網絡連接和通信系統。
5. 支持廣泛的硬件調試器和第三方開發工具,什么Ulink2/ulinkpro/ST-link/Jlink等。其中通過UlinkPro完成對硬件實        時跟蹤和代 碼分析功能。
6.完整的代碼覆蓋識別每一條指令,保證你的程序代碼穩健。
7.包含豐富的例程代碼還有最重要的啟動文件。MCU的啟動文件極為復雜,需要匯編配置好內核,時鍾和初始化,
  如果沒有 KEIL MDK的啟動代碼,估計我等小菜鳥估計在寫啟動文件階段就掛機了,更別談寫個hello word出來了。

8. 極為出色的代碼性能分析器幫助工程師找到程序應用的瓶頸,提高改善軟件的性能。這一條文字看來很蒼白,
         我們來看看幾個美圖帶來的視覺沖擊吧  
<ignore_js_op>KEIL性能分析 <ignore_js_op>KEIL 事件觸發記錄 
                    圖5 MDK代碼性能分析                                       圖6 MDK 事件觸發執行記錄

   <ignore_js_op> MDK Trace


                                                                                圖7 MDK Trace 跟蹤數據                                            
看到這些圖你有沒頓時覺得一切bug都是浮雲了,代碼執行和事件觸發都trace保存下來了,所有的寄存器和可訪問地址內存都可以查看,可以查詢函數引用堆棧,可以精確的定位到程序跑飛的那一行代碼,可以通過函數調用次數頻率有效的優化代碼,頓時覺得這個世界都很美好了,有沒有這種感覺?

由於篇幅原因,我將另行起文詳細介紹MDK的功能,圖文並茂的那種,歡迎大家關注。

 

ARM開發工具之DS-5 vs MDK對比篇
如果說DS-5 是高大全,那MDK 就是高富帥,兩者都是ARM 開發工具里重要的角色,但是似乎兩者都用共同的功能和優點,讓大家一時難以理解為什么ARM 要同時保持這兩種大殺器的存在,是故意讓大家多糾結取舍嗎這里請大家看一下兩者的主要功能差異對比
<ignore_js_op> MDK-VS-DS5

                                                                      圖8   MDK 和 DS-5 功能對比

     通過上圖對比我們很容易就能理解,KEIL MDK-ARM 是用於滿足開發者基於ARM7/9,ARM Cortex-M  處理器的開發需求,包括它自帶的RTX 實時操作系統和中間庫,都是屬於MCU 應用領域的。
         DS-5 是用於創建Linux/Andriod 的復雜嵌入式系統應用和系統平台驅動接口,DS-5 支持設備添加,包括多核調試和支持,主要針對復雜的多核調試,片上系統開發而推出的。
     換而言之,沒有最好的工具,只有最合適的工具,如果你要做MCU 應用,我推薦你用KEILMDK, 如果你要做片上系統,Linux/Andriod 驅動和應用開發,那我推薦你使用DS-5+DSTREAM



接下來的章節有

ARM開發工具之仿真器(Ulink2/Ulink-Pro/DSTREAM)
ARM開發工具之Verstile開發板


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM