KEIL-MDK开发工具
MDK提供嵌入式开发者所需的一切元素,强大易用的开发界面,各种调试适配器,支持诸如刘指令跟踪,代码覆盖率分析等独特功能,并提供一组中间件(如CAN接口,文件系统,USB协议,TCP/IP协议,GUI库)。
- 全面支持Crtex-M, Ccortex-R4, ARM7和ARM9设备
- 行业领先的C/C++编译工具链
- µVision4 IDE,调试器,仿真环境
- Keil RTX稳定的,资源占用小的实时操作系统(附源代码)
- TCP / IP网络套件提供了多协议的各种应用
- 标准驱动程序类提供USB从设备和USB主设备堆栈
- 完整的GUI库提供具有图形用户界面的嵌入式系统
- ULINKpro实时分析运行中的应用程序和记录每一个Cortex-M执行过的指令
- 程序执行的完整代码覆盖率分析
- 执行分析器和性能分析器使优化程序
- 众多工程实例帮助你迅速熟悉MDK-ARM强大内置功能
- CMSIS Cortex单片机的软件接口标准
版本分类:
功能 | MDK专业版 | MDK标准版 | MDK Cortex-M版 | MDK试用版 |
IDE集成开发环境 | √ | √ | √ | √ |
调试器 | √ | √ | √ | 32KB |
模拟器 | √ | √ | √ | 32KB |
C/C++编译器 | √ | √ | √ | 32KB |
汇编器 | √ | √ | √ | √ |
链接器 | √ | √ | √ | 32KB |
ARM微型库 | √ | √ | √ | √ |
ARM标准库 | √ | √ | √ | √ |
RTX 实时操作系统 | √ | √ | √ | √ |
(含源代码) | √ | √ | √ | √ |
TCP/IP网络套件 | √ | |||
Flash文件系统库 | √ | |||
USB设备接口 | √ | |||
USB主机接口 | √ | |||
CAN驱动库 | √ | |||
(包含源代码) | √ | |||
GUI库 | √ | |||
ULINK-ME (单独使用) | √ | √ | √ | √ |
ULINK2 (单独使用) | √ | √ | √ | √ |
ULINKpro (单独使用) | √ | √ | √ | √ |
数据和事件跟踪 (SWV) | √ | √ | √ | √ |
流指令跟踪 (ETM) | √ | √ | √ | √ |
代码覆盖率 | √ | √ | √ | √ |
性能分析器 | √ | √ | √ | √ |
运行分析工具 | √ | √ | √ | √ |
Cortex-M0,M0+,M1,M3,M4 | √ | √ | √ | √ |
Cortex-R4 | √ | √ | × | √ |
ARM7, ARM9 | √ | √ | × | √ |
SecureCore | √ | √ | × | √ |
Windows 操作系统 | XP SP2/Vista/ | XP SP2/Vista/ | XP SP2/Vista/ | XP SP2/Vista |
Windows 7 (32/64) | Windows 7 (32/64) | Windows 7 (32/64) | Windows 7 (32/64) | |
硬盘空间 | 1.4GB | 1.4GB | 1.4GB | 1.4GB |
内存 | 1GB(推荐2GB) | 1GB(推荐2GB) | 1GB(推荐2GB) | 1GB(推荐2GB) |
- ARM和Thumb混合生成模式
- 行业领先的代码尺寸优化
- 行业领先的代码性能优化
- 为硬件支持的函数属性
- 嵌入式汇编器
- 内联函数
- 在CPU寄存器内传递参数
- IEEE-754标准的单双精度浮点
微库:
微库是针对C语言编写的基于ARM嵌入式应用的高度优化的库。相较于集成于ARM编译链中的标准C库,微库针对嵌入式系统可提供极大的代码尺寸优势。
- 免费,提供RTOS源代码
- 灵活的调度:时间片轮转,抢占式, 可协作式
- 高速的实时操作,低中断延迟
- 较小的代码尺寸适宜于资源有限的系统
- 数量不限的任务数量,254级优先级
- 数量不限的邮箱,信号量,互斥,定时器
- 支持多线程和安全线程操作
- MDK-ARM支持RTX的核可见调试 < >基于对话框的RTX配置向导
优点
尽管不使用RTOS也可以创建一个实时系统(通过执行一个或多个功能的一个超循环),但会有无数的调度,维护和时序问题,而像Keil的RTX RTOS可以解决这些问题。
CAN驱动
MDK-Professional版本包括一个通用的CAN接口层,为所有支持的微控制器提供一个标准的编程API。它提供一种快速且简单的方法来实现一个CAN网络,同时代码具有可移植性,当需要移植你的代码到另一种微控制器。
产品特点
RTX函数
CAN接口使用RTX内核函数中的邮箱管理和内存分配来运行中断服务程序。同时,CAN接口还使用一个来用于CAN消息的内存池和两个邮箱阵列。
通用软件层
在通用软件层支持下,用户不仅可以在不同的目标中使用相同的接口,而且很容易从一个目标切换至另一个目标而不需要修改主要的应用程序代码。该CAN接口API支持:
- 初始化/启动CAN通信
- 为RX/TX定义CAN消息对象 < >发送、请求和接收CAN消息
硬件独立层
CAN硬件层能让通用软件接口工作在许多不同的目标上,而每个目标均拥有它自身的硬件层实现。
硬件层支持下列的器件:
- Atmel SAM7 & SAM9
- NXP LPC17xx, LPC21xx, LPC23xx, LPC24xx, & LPC29xx
- ST微控制器 STR7, STR9, & STM32 < >TI Stellaris系列
FLASH文件系统
MDK-Professional版本包括一个FLASH文件系统,能够让你的嵌入式应用程序在标准的存储设备(诸如ROM、RAM、SD/MMC/SDHC内存卡)上面进行创建、保存、读取和修改文件操作。
特性:
- 标准的ANSI C文件I/O应用接口
- 支持NOR Flash和NAND Flash
- 支持RAM、ROM和SD/MMC/SDHC内存卡
- 兼容Windows的FAT12/FAT16/FAT32文件系统格式(包括支持子目录和长文件名)
- SD/MMC卡文件高速缓冲提供了高速读/写访问
- 可重载和线程安全操作
- 可同时访问多个存储设备
- 基于对话框的μVision 配置向导设置
- 提供完整的 文档 和SD/MMC/SDHC 实例项
- 详见Flash文件系统特性的完整列表
许多基于ARM内核的微控制器对一个标准的文件系统有实际的需求。在Flash文件系统帮助下,你可以在嵌入式应用程序中实现新的特性,像数据记录、在备用模块中存储程序状或者存储固件升级。
USB主设备
USB主设备库是一个嵌入式的USB协议栈,支持USB海量存储类(MSC)和HID(人机接口设备)类。它被设计为高性能,同时使用内存尽可能小。
特点:
- 抽象层允许一个标准的API即可用于不同的USB主机控制器
- USB主设备控制器支持
通用开放式主机控制器接口(OHCI)
低级别驱动程序支持NXP LPC17xx/23xx/24xx设备
自定义主机控制器驱动程序STM32F105/7(连接线)设备
USB1.1低速(1.5Mbit/秒)和全速(12Mbit /秒)
- 通用的USB设备类支持
人机接口设备(HID)
海量存储类(MSC)
- 高速(670KB/sec)和小的代码尺寸(约6KB)
- 与其他MDK-Professional组件集成兼容性
MSC协同FLASH文件系统工作,支持USB闪存驱动器和SD/ SDHC / MMC卡存储设备
USB主设备协同RTX实时操作系统工作
USB从设备接口
MDK-Professional提供了USB主设备和USB从设备嵌入式系统的支持。 USB设备接口用于可与所有的Windows个人电脑使用的标准设备驱动程序类。无需Windows主设备驱动程序开发。 USB从设备接口使用一个通用的软件层基于RTX内核。
特点:
- USB硬件层和事件处理程序(针对具体设备)
- 通用的USB内核支持(USB 1.1 and 2.0)
- 通用的USB Device类支持
- 与MDK专业版其他元件一起集成
- 完整地支持TCP/IP及UDP协议
- 物理层支持网口及串口(PPP & SLIP)
- 包含常用的网络应用——无须而外付费
- 灵活的尺寸大小——尺寸依赖于需要使用的协议和应用
- 高速的实施——专为微控制系统定制和优化
- 可独立的操作——可以不依赖于RTOS独立使用
- 新特点:
- 广泛的调试支持
- 大量的代码案例能帮助快速应用于项目
- 支持黑白,灰度和彩色液晶显示器
- 驱动程序支持多种显示器和显示控制器
- 可处理多个窗口的窗口管理器
- 提供如按钮,复选框和图标等多个组件
- 支持自定义的外观和感觉
- 针对运行效率和代码尺寸专门优化