求真百科欢迎当事人提供第一手真实资料,洗刷冤屈,终结网路霸凌。

Rvds查看源代码讨论查看历史

事实揭露 揭密真相
跳转至: 导航搜索
Rvds

来自 网络 的图片

Rvds(RealView Development Suite) 是ARM公司最新推出的面向SOC和大型复杂应用程序的高端开发工具,被业界称为最好的ARM开发工具。

简介

RVDS包含有四个模块:

IDE:RVDS中集成了Eclipse IDE,用于代码的编辑和管理。支持语句高亮和多颜色显示,以工程的方式管理代码,支持第三方Eclipse功能插件。

RVCT:RVCT是业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++。

RVD:是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。

RVISS:是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。

评价

代码小执行效率高

在相同的条件下,ARM公司做过测试,测试结果见图1。编译后代码的大小和执行效率是衡量编译器的两个重要指标,测试结果表明,RVDS的编译性能最好。

注:ADS1.2是ARM公司在1998年的产品

RVCT是RVDS集成的编译器,它支持二次编译和代码数据压缩技术,能够生成更小的可执行文件,节省ROM空间。

从软件的角度来讲,一个代码的空间和时间是对立和矛盾的,RVCT支持根据应用的需要来选择优化的方向。比如,对实时性要求高的应用,可以选择时间的优化,对于ROM存储空间有限的应用,可以选择空间的优化。

RVCT能够支持O3级别的优化,能够对循环进行整合和展开的优化,进而提高代码的执行效率。

RVCT还能够根据ARM内核的流水线进行优化,让ARM的流水线全速运行,不会因为代码的原因而影响程序的执行效率。

支持Linux操作系统

RVDS可以运行在Linux操作系统上,支持Linux应用程序的开发和调试。从图1中,我们可以看出RVDS编译器生成的代码比GNU小42%,生成代码的执行效率比GNU快40%,可以减小系统存储空间的需求,降低成本。

RVDS可以使用GCC所生成的库或目标文件。

调试功能强大

现今,随着对设备的功能要求越来越高,软件的规模在成几何级增长,代码的编写和设计的时间在开发中的比例越来越小,而调试的难度和复杂性却越来越高,这就要求我们有一个调试手段丰富的工具。

RVD是RVDS内部集成的调试软件,具有以下ADS所不具备的重要功能:

(1)条件断点

支持表达式和断点的关联,依据表达式的值产生断点。产生断点条件可以是表达式的真假和忽略的次数。

(2)数据断点

支持根据对指定地址的访问行为,例如读、写、读/写,可以产生数据断点,并且还可以根据指定地址的内容值产生更复杂的数据断点。例如位掩码、值的范围等。

(3)芯片外设描述文件

在ADS1.2中,只能通过Memory来观察芯片外设的寄存器,而且,还不能保存。这就意味着,每一调试都需要做重复的动作。在RVD中,可以通过文件的方式来描述外设寄存器。

(4)支持Flash烧写

RVD的Flash烧写更方便,提供有C语言接口,可以轻松实现。

(5)可以实现连续调试

目标板的程序运行后,再使用RVD连接调试,并且,不干扰运行环境,保护运行现场,进而快捷的找到问题所在。

(6)多核调试

对于那些高实时性、低功耗、运算量大的应用,单核的芯片已经很难满足要求,因此,多核是今后嵌入式芯片设计的趋势。RVD能够支持多核的调试,每个核对应一个窗口,完全可以用单核的调试手段去调试多核中的每一个核。

Trace和Profile

Trace功能是指RVDS可以记录ARM处理器从开始到停止这段区间执行的所有动作。记录的内容包括指令和内存访问行为。

Profile功能是指RVDS可以对Trace功能所记录的指令进行性能分析。

Trace和Profile功能主要有以下三个主要功能:

(1)对程序进行优化

编译器不能够对函数进行全方位的优化,通过Trace和Profile,能够实现对那些占用系统资源最多或者关键的算法进行优化,进而,提高系统的实时性。图2表示的是代码中所有函数运行时间的统计。

(2)对程序进行代码测试

对于设备的安全性和可靠性要求高的应用,使用Trace和Profile功能可以对代码进行覆盖率测试,找到程序中的死角,进而提高设备的可靠性和程序的健壮性。

(3)调试

由于,Trace功能能够记录ARM所执行的所有指令,所以,能够判断出错误的所在,和RVD是相辅相成。

外设虚拟

常规的嵌入式开发流程是:先硬件设计,后软件开发,这样,会耽搁软件开发的进度。

RVISS是RVDS内部集成的一个功能模块,包含有ARM内核模型和外设模型,并且,提供有与VC++的接口,可以实现LCD、触摸屏等复杂的虚拟外设。

使用RVISS的外设模型虚拟系统的外设,可以做到和硬件设计同步,大大提高了软件开发的时间。例如,RVISS中的定时器虚拟外设,提供有通用的定时器功能,可以虚拟产生中断。

Profiler

RealViewProfiler是ARM新一款独特的产品,能够在无限制的时段,对嵌入式应用程序性能进行非干扰分析,支持运行频率高达250MHz。这意味着,RealViewProfiler可以任意长时间地分析你的软件性能,可以几分钟,几小时甚至几天。

RealViewProfiler基于硬件和快速实时系统模型,使直观的用户界面和软件性能分析相结合。从而,使得性能分析成为每个嵌入式软件开发者日常工作的必须部分,大大降低项目风险,加快工程进度。

(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,提供你想要的界面。以饼状图,条形图等方式显示结果,操作简单,使用方便。

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平台调试。[1]

参考文献

  1. Rvds搜狗