DS-5,MDK-ARM 和 RVDS 的功能非常相似,都有一个编译器、调试器、分析工具和模拟模块,如果拿工具链功能之间来进行比较,是比较花时间,而且是相当无意义的,所以我们通过他们解决的市场问题去比较,这样会简单得多。
MDK-ARM
(1)MDK-ARM是ARM 公司推荐的针对微控制器的工具链,或者基于单核ARMTDMI,Cortex-M或者Cortex-R处理器的目录芯片组。
(2)MDK-ARM中的ARM编译器只限于编译以上这些处理器的代码,并且它的调试器仅可连接到KEIL设备库中的芯片组(www.keil.com/dd)。
(3)对于微控制器开发人员,MDK-ARM提供非常好的简单的工程管理经验,以及芯片组的支持集成,Flash编程集成,软件例程等。
(4)MDK-ARM为许多RTOS提供操作 OS-awareness。
(5)MDK-ARM同样支持Cortex-M处理器的所有高级调试和跟踪功能,长时间的流跟踪(通过ULINKpro),以及代码覆盖率。
(6)MDK-ARM基于uVisionIDE,它和Visual Studio有点相似。
(7)MDK-ARM比DS-5便宜。
DS-5
(1)这是ARM公司推荐的为ASIC,ASSP和MPU(意思就是任何不是微控制器的设备)的开发工具链。
(2)DS-5中的ARM编译器是无限制的。
(3)DS-5调试器支持对所有的ARM核进行运行控制调试,以及对所有的ARM11和Cortex-A/R/M核进行指令跟踪。当然,一些Cortex-M处理器的高级调试功能在同级别的MDK-ARM中时不支持的,比如它不支持ITM PC采样。
(4)DS-5为SOC和开发板提供 bring-up工具,以及为用户芯片组和产品大量灵活的配置支持。它支持多核,大端,小端,管理程序开发和所有其他在Cortex-A处理器级别的新功能。
(5)DS-5为ENEAOSE、Linux、Android 提供OS awareness工具,它们普遍用在Cortex-A系列上。它同时含有Streamline,一个为Linux和Android的性能分析器。
(6)DS-5基于EclipseIDE。
(7)DS-5比MDK-ARM贵。
RVDS & ADS
(1)ARM已经停止对 RVDS 和 ADS 的更新,已经由DS-5取代。新的设计不建议使用RVDS和,因为在更低的价格上,DS-5提供更好的调试器,新的处理器支持,Linux/Androidawareness和更好的用户体验。
比较
产品 | Keil MDK | DS-5 | RVDS |
常规 | |||
编译工具 | ARM Compiler | ARM Compiler or GCC | ARM Compiler |
开发环境 | μVision IDE | Eclipse | |
调试器 | μVision Debugger | DS-5 Debugger | RVDS Debugger |
模拟器 | μVision Simulator | Real-Time System Models | RealView ISS & Real-Time System Models |
调试硬件 | ULINKpro仿真器 ULINKPro D仿真器 ULINK2仿真器 ULINK-ME仿真器 | DSTREAM仿真器 RVI仿真器 ULINKPro仿真器 ULINKPro D仿真器 | |
跟踪硬件 | ULINKpro仿真器 | DSTREAM or RVI仿真器 | |
代码生成 | |||
ARM C/C++ Compiler | ![]() | ![]() | ![]() |
ARM Macro Assembler | ![]() | ![]() | ![]() |
ARM Linker & Utilities | ![]() | ![]() | ![]() |
GCC Compiler | Separate | Included | |
输出格式 | ELF/DWARF & HEX | ||
ARM微控制器ARM7, ARM9 | ![]() | ![]() | ![]() |
所有ARM嵌入式处理器Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4 & Cortex-R4 | ![]() | ![]() | ![]() |
所有ARM应用处理器ARM10, ARM11, Cortex-A5, Cortex-A8, Cortex-A9, & Cortex-A15 | ![]() | ![]() | |
所有ARM安全内核SC000, SC100, SC200, SC300 | ![]() | ![]() | ![]() |
ARM / Thumb / Thumb2指令 | ![]() | ![]() | ![]() |
专用设备支持 | ![]() (See Device Database) | ![]() | |
库和例程 | |||
C/C++模板库 | ![]() | ![]() | ![]() |
EABI兼容 | ![]() | ![]() | ![]() |
MicroLib | ![]() | ![]() | ![]() |
Third-Party库 | ![]() | ![]() | ![]() |
RTX内核库 | ![]() | ![]() | |
例程程序 | 提供大量的示例项目,可直接作为模板来开发自己的项目。 | 提供ARM常规例程,引导使用ARM CPU内核扩展。 | |
调试 | |||
ELF/DWARF输入 | ![]() | ![]() | ![]() |
HEX输入 | ![]() | ![]() | ![]() |
符号目标输入 | ![]() | ![]() | ![]() |
JTAG和SWD支持 | ULINKpro ULINK2 or ULINK-ME | DSTREAM or RVI | |
数据追踪(SWV/SWO) | ULINKpro ULINK2 or ULINK-ME | DSTREAM or RVI | |
指令追踪ETM/TPIU | ULINKpro | DSTREAM or RVT2 | |
GDBServer支持 | ![]() | ||
Third-Party调试支持 | ![]() | ![]() | ![]() |
OS-Aware | Keil RTX, CMX RTOS, Segger emBos, Quadros RTXC | Linux & Google Android | 可配置 |
多内核支持 | ![]() | ![]() | |
分析工具 | |||
逻辑分析仪 | ![]() | ||
应用优化工具 | Execution Profiler Performance Analyzer | Streamline Performance Analyzer | ARM Profiler |
代码覆盖率 | ![]() | ![]() | ![]() |
模拟 | |||
模拟指令集 | ![]() | ![]() | ![]() |
模拟启动代码 | ![]() | with RTSM | with RTSM |
模拟中断 | ![]() | ![]() | ![]() |
模拟外围设备 | ![]() | ![]() | ![]() |
目标可见 | 外围设备对话和系统观测器 | ![]() | 用户可配置 |
DS-5详情:http://www.myir-tech.com/product/ds-5.htm,下载~
MDK-ARM详情:http://www.myir-tech.com/product/mdk-arm.htm,下载~
RVDS详情:http://www.myir-tech.com/product/rvds.htm,下载~
本文来自米尔科技,原文地址:http://www.myir-tech.com/resource/493.asp,转载请注明出处。