软件说明
特性:
· 超过3000款ARM®的Cortex®-M微控制器的解决方案;
· 支持32位ARM Cortex-A和Cortex-A/ Cortex-M的基础设备;
· Software Packs包括现成可使用的CMSIS和中间件组件;
· MDK专业版支持ARMv8-M架构;
· 强大的uVision®IDE,调试器和模拟环境;
· 配合ULINKpro™调试适配器使用生成应用的即时全指令跟踪分析记录;
· 关于程序执行的完整代码覆盖信息;
· 利用执行探查和性能分析器来优化你的代码;
· 调试器完全支持CMSIS-RTOS RTX实时操作系统;
· 提供完整的中间件库:包括TCP/ IP网络,文件系统,USB,和图形界面;
· 具有领先特定处理器优化和microlib的业界领先的ARM C / C ++编译器;
MDKTools包括开发者开发基于ARM的嵌入式应用程序所需要的功能,比如创建,构建以及调试。
Software Packs用于添加设备支持和软件组件,可随时进行增加修改,包括工具链中的增加新器件的支持和中间件库的升级。
MDK软件各版本之间的区别,详见下表:
MDK软件支持硬件调试和Flash编程,以下是是支持的调试工具:
· 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适配器是提供给开发者,以调试和分析程序信息的。主要有两款适配器产品:
特性 | 版本 | |
ULINKPro | ULINK2 | |
调试控制 | ||
断点 | ||
数据跟踪(Cortex-M3/M4/M7) | ||
指令跟踪(Cortex-M3/M4/M7) | ||
性能 | ||
JTAG时钟速度 | 50MHz | 10MHz |
存储器读/写 | 1MByte/s | 25 KByte/s |
数据和事件跟踪(SWO) | 100Mbit/s | 1Mbit/s |
指令跟踪(ETM) | 800 Mbit/s | |
分析工具 | ||
逻辑分析 | ||
性能分析 | ||
执行分析 | ||
代码覆盖 |
软件包括IDE,C / C ++编译器,调试器,软件包管理和CMSIS。MDK5版软件包添加新的运行时环境(RTE)来管理设备的支持和软件组件。
uVision IDE和Debugger
uVision IDE中集成了高效开发所需的强大编辑器、工程管理器以及编译工具。uVision debugger 为测试校验优化应用代码提供了一个单独的环境。它通过断点控制、watch窗口和执行控制来提供对外设的完整可见性。
Device Support
MDK支持超过3000款基于Cortex-M,SecurCore和ARM7/ARM9的器件。MDK的专业版包括一个ARM DS-MDK的license来支持Cortex-A的设备目录。最初的版本会在2016年的6月发布,包括NXP i.MAX 和 Atmel SAMA5。
编译器
ARM编译器是专门为ARM处理器设计优化的。它依托于ARM体系20年的发展。ARM编译器工具链集成了一个高度优化的C / C++编译器、汇编器、连接器和图书馆为嵌入式软件开发。
在ARM推出MDK V5.20版本的同时,增加了对ARM编译器6的支持。它汇集了LLVM编译器基础设施和高度优化的ARM C库,针对ARM架构的嵌入式软件优化了生产性能和功率。
Integrated Analysis Tools
当配合ULINKPro使用streaming trace功能时,分析工具可以展示出程序是怎么执行的。代码覆盖提供认证测试和验证的详细执行统计数据。性能分析和执行分析器可以查明和优化程序中的热点。
Code and Data Trace
代码和数据跟踪使用ETM的流跟踪或者使用ETM或MTB的跟踪缓冲来对基于Cortex-M的微控制器进行抓获。指令跟踪可以找到复杂的时序问题或者零星的软件问题。
MDK Middleware
现在的微控制器提供了大量的通信接口来满足嵌入式设计的需求。然而,开发实现这些接口是很大的挑战。中间件组件对于开发者高效使用器件的功能就显得很必要。中间件组件包括:
· 文件系统组件
· USB接口组件
· 网络组件
· GUI图形组件
中间件组件对ARM Cortex-M的微控制器是特殊设计和优化过的。库文件和uVision IDE是无缝整合的,并提供模块化设计即很好的文件应用界面。
MDK中间件组件使用CMSIS-Derver接口。
CMSIS-Driver规范是一种软件API,为中间件堆栈和用户应用程序提供外围驱动程序接口的描述。CMSIS-Driver的API 被设计成 通用且独立的特定操作系统,这使得它支持广泛的单片机设备。
文件系统组件-File System Component
文件系统组件允许嵌入式应用程序在标准存储设备上进行创建保存读取修改文件的操作。
· 标准的ANSI C文件I/O 应用程序接口
· 支持RAM,ROM,NOR,NAND Flash
· 支持SD,SDHC,MMC,eMMC内存卡
· 支持FAT12,FAT16,FAT32格式
· reentrant and thread-safe操作
· 同时访问多个存储设备
USB接口组件-USB Host and Device
MDK 中间件组件嵌入式系统提供了USB主机设备和从机设备的支持。USB从机接口使用标准的设备驱动系列,对所有调试解调器都是可以识别的,主机驱动的开发是不需要的。USB组件支持ADC,CDC,HID.MSC和自定义类的USB。
网络组件-Network
网络组件是针对ARM Cortex-M处理器适当优化的全功能网络组件,支持IPv4和IPv6(IPv6只在MDK专业版支持)。它代码小并提供好的性能,该组件为例如TCP/UDP等传输协议提供了全面的支持,以及服务器和客户端级别的应用程序,例如HTTP,Telnet,SMTP,SNMP,FTP。提供现代网络所需的全部功能。
GUI图形组件-Graphical User Interface
图形界面是一个全功能的图形界面,使得用户在嵌入式应用中添加界面接口变得可能。支持大量的显示,包括快速的GUI开发工具:
· 支持单色,灰度和彩色LCD
· 包括很多显示器和驱动显示控制器
· 用于多窗口控制的窗口管理器
· 很多小部件按钮,复选框等可用图标
· 支持自定义的外观和感觉的换肤
· 优化速度和大小
· 针对开发板的广泛例程
物联网组件-Iot Connectivity
MDK专业版的中间件组件中提供了与mbed链接的接口,来与物联网进行安全的通讯。
· mbed TLS(Transport Layer Security安全传输层协议)添加了加密功能和SSL(Secure Sockets Layer 安全套接层)/ TLS加密功能,此功能是通过增加用于收集优化嵌入式系统的库文件实现的。
· mbed客户端实现了轻量级的OMA M2M协议(通过开放移动联盟),以及物联网设备链接到web应用程序的mbed设备服务器接口。
mbed MINAR 根据计划的执行时间为用户和系统间安排代码块的执行提供服务。