标题：rvds
简介
RVDS（RealView Development Suite）是ARM公司最新推出的面向SOC和大型复杂应用程序的高端开发工具，被业界称为最好的ARM开发工具。[1]
包含模块
RVDS包含有四个模块：
IDE：RVDS中集成了Eclipse IDE，用于代码的编辑和管理。支持语句高亮和多颜色显示，以工程的方式管理代码，支持第三方Eclipse功能插件。
RVCT：RVCT是业界最优秀的编译器，支持全系列的ARM和XSCALE架构，支持汇编、C和C++。
RVD：是RVDS中的调试软件，功能强大，支持Flash烧写和多核调试，支持多种调试手段，快速错误定位。
RVISS：是指令集仿真器，支持外设虚拟，可以使软件开发和硬件开发同步进行，同时可以分析代码性能，加快软件开发速度。
RVDS优点
1、代码小执行效率高在相同的条件下，ARM公司做过测试，测试结果见图1。编译后代码的大小和执行效率是衡量编译器的两个重要指标，测试结果表明，RVDS的编译性能最好。
  编译效率性能比较注：ADS1.2是ARM公司在1998年的产品
RVCT是RVDS集成的编译器，它支持二次编译和代码数据压缩技术，能够生成更小的可执行文件，节省ROM空间。
从软件的角度来讲，一个代码的空间和时间是对立和矛盾的，RVCT支持根据应用的需要来选择优化的方向。比如，对实时性要求高的应用，可以选择时间的优化，对于ROM存储空间有限的应用，可以选择空间的优化。
RVCT能够支持O3级别的优化，能够对循环进行整合和展开的优化，进而提高代码的执行效率。
RVCT还能够根据ARM内核的流水线进行优化，让ARM的流水线全速运行，不会因为代码的原因而影响程序的执行效率。
2、支持Linux操作系统RVDS可以运行在Linux操作系统上，支持Linux应用程序的开发和调试。从图1中，我们可以看出RVDS编译器生成的代码比GNU小42%，生成代码的执行效率比GNU快40%，可以减小系统存储空间的需求，降低成本。
RVDS可以使用GCC所生成的库或目标文件。
3、调试功能强大现今，随着对设备的功能要求越来越高，软件的规模在成几何级增长，代码的编写和设计的时间在开发中的比例越来越小，而调试的难度和复杂性却越来越高，这就要求我们有一个调试手段丰富的工具。
RVD是RVDS内部集成的调试软件，具有以下ADS所不具备的重要功能：
（1）条件断点
支持表达式和断点的关联，依据表达式的值产生断点。产生断点条件可以是表达式的真假和忽略的次数。
（2）数据断点 
支持根据对指定地址的访问行为，例如读、写、读/写，可以产生数据断点，并且还可以根据指定地址的内容值产生更复杂的数据断点。例如位掩码、值的范围等。
（3）芯片外设描述文件
在ADS1.2中，只能通过Memory来观察芯片外设的寄存器，而且，还不能保存。这就意味着，每一调试都需要做重复的动作。在RVD中，可以通过文件的方式来描述外设寄存器。
（4）支持Flash烧写
RVD的Flash烧写更方便，提供有C语言接口，可以轻松实现。
（5）可以实现连续调试
目标板的程序运行后，再使用RVD连接调试，并且，不干扰运行环境，保护运行现场，进而快捷的找到问题所在。
（6）多核调试
对于那些高实时性、低功耗、运算量大的应用，单核的芯片已经很难满足要求，因此，多核是今后嵌入式芯片设计的趋势。RVD能够支持多核的调试，每个核对应一个窗口，完全可以用单核的调试手段去调试多核中的每一个核。
4、Trace和ProfileTrace功能是指RVDS可以记录ARM处理器从开始到停止这段区间执行的所有动作。记录的内容包括指令和内存访问行为。
Profile功能是指RVDS可以对Trace功能所记录的指令进行性能分析。
Trace和Profile功能主要有以下三个主要功能：
（1）对程序进行优化
编译器不能够对函数进行全方位的优化，通过Trace和Profile，能够实现对那些占用系统资源最多或者关键的算法进行优化，进而，提高系统的实时性。图2表示的是代码中所有函数运行时间的统计。
  Profile性能分析图（2）对程序进行代码测试
对于设备的安全性和可靠性要求高的应用，使用Trace和Profile功能可以对代码进行覆盖率测试，找到程序中的死角，进而提高设备的可靠性和程序的健壮性。
（3）调试
由于，Trace功能能够记录ARM所执行的所有指令，所以，能够判断出错误的所在，和RVD是相辅相成。
5、外设虚拟常规的嵌入式开发流程是：先硬件设计，后软件开发，这样，会耽搁软件开发的进度。
RVISS是RVDS内部集成的一个功能模块，包含有ARM内核模型和外设模型，并且，提供有与VC++的接口，可以实现LCD、触摸屏等复杂的虚拟外设。
使用RVISS的外设模型虚拟系统的外设，可以做到和硬件设计同步，大大提高了软件开发的时间。例如，RVISS中的定时器虚拟外设，提供有通用的定时器功能，可以虚拟产生中断。
6、ProfilerRealViewProfiler是ARM新一款独特的产品，能够在无限制的时段，对嵌入式应用程序性能进行非干扰分析，支持运行频率高达250MHz。这意味着，RealViewProfiler可以任意长时间地分析你的软件性能，可以几分钟，几小时甚至几天。
  使用RealViewProfiler减小项目风险RealViewProfiler基于硬件和快速实时系统模型，使直观的用户界面和软件性能分析相结合。从而，使得性能分析成为每个嵌入式软件开发者日常工作的必须部分，大大降低项目风险，加快工程进度。
  RealView Profiler的优化过程（1）长时间性能分析
提供无限时间内代码的分析，通过时间的积累，能够分析出更全面的性能，测试更高的可靠性，以确保代码的质量。
（2）无干扰分析
在分析过程中，不干扰程序的运行，最大程度的实现和真实运行环境的一致，保证分析结果的真实性。
（3）代码覆盖率测试
根据记录的指令，能够进行代码覆盖率的测试和以函数为单位的性能分析。
  指令覆盖率  函数级代码覆盖率信息的动态调用图形（4）硬件平台分析
结合RVI和RVT，profile创新使用流分析技术。流分析技术不依赖于板上的缓冲器，分析时间长短取决于用户的需要。RVT采用USB2和PC主机相连，支持最大频率为250MHz。
  与硬件的连接（5）虚拟平台分析
Profiler包含ARM Versatile/EB 开发板的快速实时系统模型，可以在没有硬件的情况下进行性能和代码覆盖率分析。
（6）出众的代码分析能力
1）通过指令的联锁信息，能识别出可以被优化的指令。
2）当指令的执行时间超过理想周期时，会高亮显示指令，能够识别内存瓶颈。
3）能分析函数的延迟和执行效率。
4）以图形显示函数的调用信息。
5）基于现代编译优化技术，能够实现源代码和生成代码的关联。
  每条指令联锁信息的显示  高亮显示超出理想周期的指令  链接后的汇编程序和源代码显示（7）直观的用户界面
使用Eclipse IDE，提供你想要的界面。以饼状图，条形图等方式显示结果，操作简单，使用方便。
  整体分析显示图
7、RVI JTAG仿真器RVI仿真器是ARM公司推出的JTAG调试工具，和RVDS结合使用，能实现源代码调试。RVI具有以下特点。
支持ARM7、ARM9、ARM10、ARM11、Cortex等全系列ARM内核下载速度1.3MByte/S支持ADS、RVDS、Green Hill、GCC、Tasking、IAR等编译器支持MMU调试支持WinCE和Linux内核调试支持Coresight调试技术支持DSP调试支持TI OMAP平台调试