231联盟 发表于 2014-2-11 14:51:31

MDK DS-5 RVDS 三款软件的区别

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不支持

hgjdwjz699 发表于 2014-2-11 14:54:16

楼主辛苦了

fjpmbb 发表于 2014-2-18 10:19:34

谢谢 lz的分享 原来是这样 之前一直只用 MDK
页: [1]
查看完整版本: MDK DS-5 RVDS 三款软件的区别