米爾科技提醒您:您的瀏覽器版本過低或者使用了兼容模式,為了獲得更好的瀏覽體驗,建議使用IE10以上的瀏覽器或使用極速模式。 請升級瀏覽器以獲得更好的體驗!

妻子伦理片_《味道》电影完整版_HD中文字幕在线观看,silk116无删减在线播放,老师让我解开蕾丝胸罩,陷阱致命的诱惑

ARM編譯工具

深圳市米爾科技有限公司是ARM公司官方授權全線工具產品代理商, 提供ARM公司原裝正版開發工具(包括本產品 MDK-ARM)的銷售服務,以及ARM工具產品的市場推廣、產品更新、技術支持和售后服務。

概念:MDK-ARM也稱KEIL MDK-ARMKEIL ARMRealview MDKI-MDKuVision4 等,系為同一產品。

相關: MDK-ARM下載ARM授權證明米爾典型客戶


 ARM編譯工具鏈(之前被稱為ARM RealView編譯工具)包含:
  • ARM C/C++編譯器(armcc) 
  • Microlib
  • ARM Macro匯編器(armasm)
  • ARM鏈接器(armLink)
  • ARM工具(Librarian and FromELF)

基于以上專門針對ARM架構的微控制器編譯器,工程師可以使用C或者C++編寫應用程序。通過以上編譯器的編譯,可以獲得ARM匯編語言的高效率和高速度。

ARM編譯器將C/C++元文件編譯成可重定位(Relocatable)的目標模塊,并且在其中嵌入供uVision調試器或在線調試器調試的符號信息。同時,ARM編譯器能幫助生成listing file,它可以包含symbol table(符號表)和交叉引用信息。

ARM RVCT編譯器被廣泛視為行業最佳的基于ARM架構的編譯器。它定位于最佳代碼密度的編譯器,可以幫助生成代碼量最小的編譯器,幫助節省代碼量對內存的要求從而降低硬件成本。同時,編譯器支持ISO標準的C/C++語言,可以將32-bit ARM, the 16-bit Thumb,及混合的32/16-bit Thumb2指令集生成經過高度優化的代碼。

ARM公司一直致力于持續改善ARM編譯器在代碼密度和代碼性能兩方面的性能,同時增添了很多新的特點,如Microlib等。


   ARM C/C++編譯器(armcc)


ARM and Thumb生成模式:工程師可以在同一個源文件中編寫ARM和Thumb代碼。ARM允許編寫更快的代碼,特別適合于中斷操作。而Thumb模式提供了最小的代碼尺寸。

  • 行業領先的代碼尺寸優化:能幫助您通過產生最小尺寸的代碼而節省對存儲空間的要求,從而節省硬件成本。
  • 行業領先的代碼性能優化:在不需要提高系統時間速率的基礎上,編譯器生產的高性能代碼能幫助減少能量消耗。 
  • 用于支持硬件的函數屬性:通過ARM C編譯器提供的函數屬性可以訪問相關的ARM硬件特點。例如: 
    • __irq允許在C語言中編寫中斷服務程序。 
    • __swi(id)允許調用軟件中斷處理函數r。
  • 嵌入的匯編器:工程師可以在C函數定義中插入匯編代碼。這一功能對于快速DSP和其他信號處理算法是非常必須。即便您的程序中嵌入了匯編代碼,ARM編譯器能同樣支持整段程序的優化。 
  • 內聯函數:通過使用內聯函數,你可以加快被頻繁調用的函數的執行速度。內聯函數為擴展性內聯,不會因為函數調用、參數傳遞和返回等造成開銷。
  • CPU寄存器中的參數傳遞:ARM編譯器自動使用CPU寄存器來傳遞絕大多數函數參數。它甚至可以幫助在寄存器中傳遞返回小型的C數據結構。 
  • 可重入的運行時庫Reentrant Run-time Library:大多數庫函數是可重入的,可以在主函數或者中斷中被條用。而且不需要為庫的調用考慮特殊Scheme保護。
  • IEEE-754兼容單/雙精度浮點:高精度的浮點支持。

   MicroLib


對MDK-ARM v4.1x以上版本進行了改進。

MicroLib是一個用C語言編寫的經過高度優化的嵌入式應用的庫(基于ARM架構)。相對包含在ARM編譯器里面傳統標準C庫,MicroLib無疑擁有更好的代碼尺寸優勢,可以滿足大多數嵌入式系統要求。



Microlib與標準C庫之間的主要區別在于:

  • MicroLib主要為高級嵌入式應用而設計。
  • MicroLib已被進行過優化,同使用ARM標準庫相比,使用更少的代碼和數據內存。
  • MicroLib被設計成能脫離操作系統單獨工作,當然這并不防礙它同任何OS或RTOS(例如Keil RTX)一起被使用。
  • MicroLib不包含文件I/O或者寬字符支持。
  • 由于MicroLib已經被優化,減小了代碼大小,因此相比在ARM編譯工具里的標準C庫例程,一些函數會執行得更加緩慢。

MicroLib和ARM標準庫兩者均被包含在Keil MDK-ARM中。


為了在你的嵌入式應用時使用MicroLib,首先要在μVision設置中勾選MicroLib選項框,然后編譯你的應用即可。μVision會使用MicroLib來鏈接你的程序,可快速輕松地減小你的程序代碼大小。

注意:

MDK-ARM V3.1或更高版本方可支持MicroLib。


   ARM宏匯編器(armasm)


  • 標準宏匯編器:宏處理機支持你可能用來重復或自動匯編指令序列的匯編宏使用
  • 條件匯編支持:條件匯編允許你通過控制匯編源代碼來創建來自相同的源文件的多個目標應用程序
  • 帶符號引用的源碼列表:列表文件包含一個可選的交叉引用,而該引用可提供關于匯編源文件的詳盡信息

   ARM鏈接器(armLink)


  • 詳細的列表文件:鏈接器創建一個易于理解的綜合列表文件。該文件包含像內存配置、輸入模塊、內存映射圖、符號列表以及交叉引用等詳細的內容。 
  • 全局代碼列表:鏈接器創建一個全局的代碼列表文件。該文件標明生成代碼的拆卸符號。
  • 靜態堆棧分析:在鏈接時,鏈接器計算所要分配的堆棧。這種方法可省去在目標應用程序的運行時堆棧檢查。

   ARM實用程序


  • ARM庫管理程序armar:讓你能夠使用一個標準格式的ar庫來收集和維護ELF目標文件集。通過創建能夠傳遞到鏈接器來替換多個ELF目標文件的可重復利用模塊的方式,能夠為你節省時間。
    使用armar你可以實現:
    • 創建新的庫
    • 添加文件到一個庫里
    • 替換庫中的單獨文件
    • 在一個簡單的操作中使用指定文件來替換庫中的所有文件
    • 控制庫中的文件存在位置
    • 顯示關于指定庫的信息(例如,列出所有庫中的成員)
  • ARM Elf工具fromelf:能夠讓你處理由編譯器、匯編器和鏈接器產生的ARM ELF目標和鏡像文件。
    使用fromelf你可以實現:
    • 轉換ELF鏡像為其它能被ROM工具使用或直接加載到內存的格式
    • 顯示關于輸入文件的信息,例如拆卸輸出或符號列表,要么為stdout,或者為一個文件文件。

   編譯器驗證


在超過20年的時間里,ARM編譯器工具鏈已經提供一個強大的平臺用于軟件開發。ARM編譯器常被用于開發各個行業的軟件應用,包括航天航空、保鍵、自動化、交通、制造業、消費、軍事以及電信。今天,在全世界有超過20億設備運行的軟件是使用ARM編譯器工具鏈開發的。

每一個ARM編譯器版本均要經過一個全面的檢測過程,這里面包含了在目標代碼正確產生的情形下成百上千次的嚴格測試。編譯器、匯編器、鏈接器和庫會被使用不同的優化級別和指定結構選項在仿真和硬件目標來進行測試。


C的驗證套件Plum Hall

C驗證套件Plum Hall是一套用于C編譯器驗證的行業標準。該標準同時使用正向和反向測試來實現以下目標:

  • 基礎測試要符合ISO C90和C99 C語言標準。
  • 產生自檢C程序,以便能測試操作符和數據類型的排列變化。
  • 確定歸定編譯時間限制的大小,例如標準符的重要長度或者可能嵌套的包含文件級數。
  • 通過產生任意復雜的自檢表達式來測試合法表達式。

C++的驗證套件Plum Hall(suite++)

Suite++是用于ANSI/ISO C++標準的行業領先的兼容性測試。Suite++描述超過4600種用于測試編譯器對ISO/IEC 14882:2003兼容性的正反測試情景。


C++庫的驗證套件Plum Hall

LibSuite++描述超過2500種用于測試庫對ISO/IEC 14882:2003兼容性的測試情景。

內部驗證套件

  • 差異測試 –為在代碼質量上進行差異檢測,ARM公司會將從新編譯器版本產生的代碼與先前測試版本產生的代碼進行比較。該測試套件能產生一個關于與先前版本間差異的內部報告。通過對該報告分析,ARM公司可以核實是否有任何無法預料的代碼差異。
  • 回歸測試套件 –當缺陷被確定后,測試會被添加到我們的回歸測試套件,以便能確定這種缺陷是否能通過將來的編譯器升級來彌補。
  • 語言擴展 – ARM公司維護一組用于測試那些不包含在ANSI/ISO標準的產品擴展語言的內部測試套件。
  • C頭文件測試 –驗證標準C頭文件的內部一致性。通過運行在每個頭文件里的編譯器和轉變它的內部狀態來進行測試。然后檢查結果,以確保一致性。
  • 零空間測試 –測量期望的編譯器行為的一致性,優化跨語義等價但語法不同的源代碼。
  • 數學庫測試 –浮點和數學庫不僅要經過指定情境的直接測試,而且還使用已知高難度的數值來進行測試。
  • 收斂測試 –該套件測試ARM編譯器是否能進行自身編譯。主要包含兩階段:首先使用ARM編譯器來編譯一個本身為ARM目標的半主機機制版本。然后c使用該版本來編譯第二個版本,和將最后的鏡像與目標進行比較。
  • 編碼數據庫(CodeDB) – CodeDB為開源就用和認可的用戶代碼的一個集合,用來驗證復雜真實環境的應用,而這種應用要求能使用最新的編譯器版本編譯能過。
  • 產品集成測試 –這些測試可確保不同產品元件已經被成功集成和產生更佳的用戶體驗。新測試會被產生,以便用于測試發行里的每一個包括新功能的版本。除些之外,產品集成測試由超過1200種回歸測試案例組成。

Edison設計組(EDG)前后端測試套件

EDG前后端軟件使用Gimpel's FlexeLint, Plum Hall和成熟的商業測試套件來進行測試。同時,在過去的20多年發展中,該前后端軟件已接受~25000種本地回歸測試。


Roguewave C++庫自測試

提供一個附帶Roguewave C++標準模板庫(STL)自測試套件。


GNU審核

這些測試從屬于GNU C編譯器發布的一部分。它們包括自檢測試和用于編譯器前后端測試。


ABI測試套件

該套件用于測試ARM-THUMB嵌入式應用二進制接口(EABI)程序調用標準(ATEPCS)的一致性。


調試測試

該工具檢查ARM編譯器正在產生的有效DWAFR調試信息,并能過使用目標-設計語言和DVAL(DWARF驗證者注釋語言)的嵌入式注釋來分析源文件信息。


缺陷管理

各種缺陷在缺陷數據庫中被編號、記錄和按優先級排序。根據優先級,它們會定期地被查看和作為修正目標。通過每夜的備份和異地存儲使得缺陷數據更加安全。


ISO認證

ARM公司保持ISO9001:2008認證(編號為:LRQ 0963114),這種認證適用于在ARM處理器上進行的設計、開發和的軟件解決方案質量管理。


Keil產品集成

自從2006年發布以來,ARM編譯器已經可以使用在所有Keil MDK-ARM版本(微控制器開發工具)。


更多內容