|
DS-5 MDK-ARM RVDS区别
感觉上,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
(1)RVDS是ARM遗留的工具链,已经被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
ULINK2 or ULINK-ME DSTREAM or RVI
跟踪硬件 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
模拟中断 √ √ √
模拟外围设备 √ √ √
目标可见 外围设备对话和系统观测器 √ 用户可配置
附:
RealView MDK和RVDS的区别是:MDK只支持基于ARM7、ARM9、Cortex-M1和Cortex-M3的微控制器,但RVDS还支持用户定义的MCU;MDK不支持所有的ARM处理器,包括ARM7、ARM9、ARM10、ARM11、Cortex-M1、Cortex-M3、Cortex-R4、Cortex-A8和Cortex-A9,但RVDS全支持;MDK基于uVision IDE开发环境,而RVDS基于Eclipse开发环境;MDK支持符号目标码输入,但RVDS不支持;MDK有实时内核库,但RVDS没有;MDK不支持多核,但RVDS支持;MDK不支持DSP,但RVDS支持;MDK不支持缓存,但RVDS支持;MDK可仿真启动代码,但RVDS不行;MDK可仿真中断,但RVDS不行;MDK可仿真外设,但RVDS不行;MDK支持逻辑分析仪,但RVDS不支持 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|