KEIL-MDK 開(kāi)發(fā)工具
Keil MDK 開(kāi)發(fā)套件包括 Windows 平臺(tái)的 IDE、 編輯器、 高性能的編譯器、 調(diào)試器、 軟件包管理器、 CMSIS 標(biāo)準(zhǔn)接口庫(kù)及中間件等。這一系列工具使得您的嵌入式軟件開(kāi)發(fā)項(xiàng)目更加迅捷。

特性:
● 支持超過(guò) 5000 款基于 Arm 架構(gòu)的微控制器
● 集成免費(fèi)的軟件組件和帶源代碼的實(shí)時(shí)操作系統(tǒng)RTX
● 由 Arm 自主研發(fā)業(yè)界領(lǐng)先的 C/C++ 編譯工具
● FuSa 編譯器符合 ISO 26262, IEC 61508, IEC 62304 和 EN 50128 的標(biāo)準(zhǔn)
● Arm CPU 的精確仿真模型 FVP(僅限 Cortex-M)
● 支持 ULINK 系列及第三方調(diào)試器的在線調(diào)試
● 可以付費(fèi)獲得技術(shù)支持或開(kāi)發(fā)者社區(qū)的技術(shù)支持
● 易于使用的界面
MDK Tools包括開(kāi)發(fā)者開(kāi)發(fā)基于ARM的嵌入式應(yīng)用程序所需要的功能,比如創(chuàng)建,構(gòu)建以及調(diào)試。
Software Packs用于添加設(shè)備支持和軟件組件,可隨時(shí)進(jìn)行增加修改,包括工具鏈中的增加新器件的支持和中間件庫(kù)的升級(jí)。
MDK軟件支持硬件調(diào)試和Flash編程,以下是支持的調(diào)試工具:
· KEIL ULINK Series
· PE-Micro
· Nuvoton Nu-Link
· Segger J-LINK, J-Trace
· STMicroelectronics ST-LINK
· CMSIS-DAP based adapters from Atmel, NXP and others
ULINK適配器
提供給開(kāi)發(fā)者,以調(diào)試和分析程序信息的。主要有兩款適配器產(chǎn)品:

MDK Tools和SoftWare Packs
軟件包括IDE,C / C ++編譯器,調(diào)試器,軟件包管理和CMSIS。MDK5版軟件包添加新的運(yùn)行時(shí)環(huán)境(RTE)來(lái)管理設(shè)備的支持和軟件組件。

μVision IDE和Debugger
μVision IDE中集成了高效開(kāi)發(fā)所需的強(qiáng)大編輯器、工程管理器以及編譯工具。μVision debugger 為測(cè)試校驗(yàn)優(yōu)化應(yīng)用代碼提供了一個(gè)單獨(dú)的環(huán)境。它通過(guò)斷點(diǎn)控制、watch窗口和執(zhí)行控制來(lái)提供對(duì)外設(shè)的完整可見(jiàn)性。

Device Support
MDK支持超過(guò)3000款基于Cortex-M,SecurCore和ARM7/ARM9的器件。
編譯器
ARM編譯器是專(zhuān)門(mén)為ARM處理器設(shè)計(jì)優(yōu)化的。它依托于ARM體系30多年的發(fā)展。ARM編譯器工具鏈集成了一個(gè)高度優(yōu)化的C / C++編輯器、編譯器、連接器的嵌入式軟件開(kāi)發(fā)。
ARM編譯器6匯集了LLVM編譯器基礎(chǔ)設(shè)施和高度優(yōu)化的ARM C庫(kù),針對(duì)ARM架構(gòu)的嵌入式軟件優(yōu)化了生產(chǎn)性能和功率。

Integrated Analysis Tools
當(dāng)配合ULINKPro使用streaming trace功能時(shí),分析工具可以展示出程序是怎么執(zhí)行的。代碼覆蓋提供認(rèn)證測(cè)試和驗(yàn)證的詳細(xì)執(zhí)行統(tǒng)計(jì)數(shù)據(jù)。性能分析和執(zhí)行分析器可以查明和優(yōu)化程序中的熱點(diǎn)。
Code and Data Trace
代碼和數(shù)據(jù)跟蹤使用ETM的流跟蹤或者使用ETM或MTB的跟蹤緩沖來(lái)對(duì)基于Cortex-M的微控制器進(jìn)行抓獲。指令跟蹤可以找到復(fù)雜的時(shí)序問(wèn)題或者零星的軟件問(wèn)題。

MDK Middleware
現(xiàn)在的微控制器提供了大量的通信接口來(lái)滿足嵌入式設(shè)計(jì)的需求。然而,開(kāi)發(fā)實(shí)現(xiàn)這些接口是很大的挑戰(zhàn)。中間件組件對(duì)于開(kāi)發(fā)者高效使用器件的功能就顯得很必要。中間件組件包括:
· 文件系統(tǒng)組件
· USB接口組件
· 網(wǎng)絡(luò)組件
· GUI圖形組件
中間件組件對(duì)ARM Cortex-M的微控制器是特殊設(shè)計(jì)和優(yōu)化過(guò)的。庫(kù)文件和μVision IDE是無(wú)縫整合的,并提供模塊化設(shè)計(jì)即很好的文件應(yīng)用界面。
MDK中間件組件使用CMSIS-Derver接口。
CMSIS-Driver規(guī)范是一種軟件API,為中間件堆棧和用戶應(yīng)用程序提供外圍驅(qū)動(dòng)程序接口的描述。CMSIS-Driver的API 被設(shè)計(jì)成通用且獨(dú)立的特定操作系統(tǒng),這使得它支持廣泛的單片機(jī)設(shè)備。

文件系統(tǒng)組件-File System Component
文件系統(tǒng)組件允許嵌入式應(yīng)用程序在標(biāo)準(zhǔn)存儲(chǔ)設(shè)備上進(jìn)行創(chuàng)建保存讀取修改文件的操作。
· 標(biāo)準(zhǔn)的ANSI C文件I/O 應(yīng)用程序接口
· 支持RAM,ROM,NOR,NAND Flash
· 支持SD,SDHC,MMC,eMMC內(nèi)存卡
· 支持FAT12,FAT16,FAT32格式
· reentrant and thread-safe操作
· 同時(shí)訪問(wèn)多個(gè)存儲(chǔ)設(shè)備

USB接口組件-USB Host and Device
MDK 中間件組件嵌入式系統(tǒng)提供了USB主機(jī)設(shè)備和從機(jī)設(shè)備的支持。USB從機(jī)接口使用標(biāo)準(zhǔn)的設(shè)備驅(qū)動(dòng)系列,對(duì)調(diào)試解調(diào)器是可以識(shí)別的,主機(jī)驅(qū)動(dòng)的開(kāi)發(fā)是不需要的。USB組件支持ADC,CDC,HID.MSC和自定義類(lèi)的USB。

網(wǎng)絡(luò)組件-Network
網(wǎng)絡(luò)組件是針對(duì)ARM Cortex-M處理器適當(dāng)優(yōu)化的全功能網(wǎng)絡(luò)組件,支持IPv4和IPv6(IPv6只在MDK專(zhuān)業(yè)版支持)。它代碼小并提供好的性能,該組件為例如TCP/UDP等傳輸協(xié)議提供了全面的支持,以及服務(wù)器和客戶端級(jí)別的應(yīng)用程序,例如HTTP,Telnet,SMTP,SNMP,FTP。提供現(xiàn)代網(wǎng)絡(luò)所需的功能。

GUI圖形組件-Graphical User Interface
圖形界面是一個(gè)全功能的圖形界面,使得用戶在嵌入式應(yīng)用中添加界面接口變得可能。支持大量的顯示,包括快速的GUI開(kāi)發(fā)工具:
· 支持單色,灰度和彩色LCD
· 包括很多顯示器和驅(qū)動(dòng)顯示控制器
· 用于多窗口控制的窗口管理器
· 很多小部件按鈕,復(fù)選框等可用圖標(biāo)
· 支持自定義的外觀和感覺(jué)的換膚
· 優(yōu)化速度和大小
· 針對(duì)開(kāi)發(fā)板的廣泛例程

物聯(lián)網(wǎng)組件-Iot Connectivity
MDK專(zhuān)業(yè)版的中間件組件中提供了與mbed鏈接的接口,來(lái)與物聯(lián)網(wǎng)進(jìn)行安全的通訊。
· mbed TLS(Transport Layer Security安全傳輸層協(xié)議)添加了加密功能和SSL(Secure Sockets Layer 安全套接層)/ TLS加密功能,此功能是通過(guò)增加用于收集優(yōu)化嵌入式系統(tǒng)的庫(kù)文件實(shí)現(xiàn)的。
· mbed客戶端實(shí)現(xiàn)了輕量級(jí)的OMA M2M協(xié)議(通過(guò)開(kāi)放移動(dòng)聯(lián)盟),以及物聯(lián)網(wǎng)設(shè)備鏈接到web應(yīng)用程序的mbed設(shè)備服務(wù)器接口。
· mbed MINAR 根據(jù)計(jì)劃的執(zhí)行時(shí)間為用戶和系統(tǒng)間安排代碼塊的執(zhí)行提供服務(wù)。