本帖最后由 科技猎人 于 2014-3-2 10:32 编辑
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基于uVision IDE,它和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为ENEA OSE、Linux、Android 提供OS awareness工具,它们普遍用在Cortex-A系列上。它同时含有Streamline,一个为Linux和Android的性能分析器。 (6)DS-5基于Eclipse IDE。 (7)DS-5比MDK-ARM贵。 RVDS & ADS(1)ARM已经停止对 RVDS 和 ADS 的更新,已经由DS-5取代。新的设计不建议使用RVDS和,因为在更低的价格上,DS-5提供更好的调试器,新的处理器支持,Linux/Android awareness和更好的用户体验。 比较产品 | 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 | 模拟中断 | | | | 模拟外围设备 | | | | 目标可见 | 外围设备对话和系统观测器 | | 用户可配置
|
|