首页 理论教育ARM嵌入式RVDS集成开发工具-系统设计

ARM嵌入式RVDS集成开发工具-系统设计

【摘要】:RVDS集成的RVCT是业内公认的能够支持所有ARM处理器,并提供最好的执行性能的编译器。目前全球基于ARM处理器的40亿个产品设备中,大部分的软件开发是基于RealView开发工具。

常用的ARM的开发环境有ADS1.2、RVDS(RealView Developer Suite)、MDK、IAR、DS-5和一些开源的开发环境。其中RVDS是ARM公司继SDT与ADS1.2之后主推的新一代开发工具。RVDS集成的RVCT是业内公认的能够支持所有ARM处理器,并提供最好的执行性能的编译器。RVD是ARM系统调试方案的核心部分,支持含嵌入式操作系统的单核和多核处理器软件开发,可以同时提供相关联的系统级模型构建功能和应用级软件开发功能,为不同用户提供最为合适的调试功效。目前全球基于ARM处理器的40亿个产品设备中,大部分的软件开发是基于RealView开发工具。RVDS向硬件设备的设计者提供多核调试、应用与所有ARM处理器的代码产生和Cortex CPU的配置等功能,并提供了到达第三方元器件的接口(如ARM ESL tools)。RVDS包含4个模块:IDE、RVCT、RVD和RVISS。下面详细介绍RVDS的一些组件、模拟器和处理器支持模型。

1.IDE

RVDS中的Workbench IDE是一种集成开发环境,它将软件开发与ARM RealView工具的编译和调试技术结合在一起。它可以用作项目管理器,为ARM目标创建、生成、调试、监视和管理项目。它使用一个称为“工作区"的文件夹来存储与特定项目相关的文件和文件夹。

Workbench IDE集成了下列ARM插件。

(1)RealView编译工具

通过此插件,可以在Workbench中使用RealView编译工具,为ARM目标生成项目。它提供了综合配置面板,用于修改项目和各文件的工具设置。

(2)ARM汇编器编辑器

此插件提供了一个编辑器,以便于阅读的可自定义代码格式,显示ARM编译器文件。它还为标签及其他导航辅助工具提供自动完成功能。

(3)属性编辑器

此插件为ARM汇编器和C/C++编辑器提供扩展。可以通过属性编辑器配置源代码,这样无需直接编辑代码即可修改变量或预定义。

(4)分散文件编辑器

此插件提供了一个编辑器,使用户可以轻松地创建和编辑分散加载描述文件。

(5)ELF内容编辑器

此插件创建表格式窗体和图形视图,用于显示映像文件、对象文件和库文件的内容。

(6)ARM Flash编程器

此插件提供了一个新的项目向导,用于为目标创建Flash算法和程序映像。它还提供相关的导出向导,实现与RealView Debugger的紧密集成。

2.RVCT

RVCT是业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++语言。RVCT支持二次编译和代码数据压缩技术,能够生成更小的可执行文件,节省ROM空间。从软件的角度来讲,一个代码的空间和时间是对立和矛盾的,RVCT支持根据应用的需要来选择优化的方向。比如,对实时性要求高的应用,可以选择时间的优化,对于ROM存储空间有限的应用,可以选择空间的优化。RVCT能够支持O3级别的优化,能够对循环进行整合和展开的优化,进而提高代码的执行效率。RVCT还能够根据ARM内核的流水线进行优化,让ARM的流水线全速运行,不会因为代码的原因而影响程序的执行效率。

RealView编译工具(RVCT)有以下组成部分:

●ARM和Thumb C和C++编译器(armcc)。

●ARM和Thumb汇编器(armasm)。

●ARM链接器(armlink)。

●ARM库管理程序(armar)。

●ARM映像转换实用程序(fromelf)。

●支持库。

3.RVD

RVD是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。具有以下ADS所不具备的重要功能:

(1)条件断点(www.chuimin.cn)

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

(2)数据断点

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

(3)芯片外设描述文件

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

(4)支持Flash烧写

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

(5)可以实现连续调试

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

(6)多核调试

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

4.RVISS

RVISS是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。具体来说,RVISS是RVDS内部集成的一个功能模块,包含有ARM内核模型和外设模型,并且提供有与VC++的接口,可以实现LCD、触摸屏等复杂的虚拟外设。使用RVISS的外设模型虚拟系统的外设,可以做到和硬件设计同步,大大提高了软件开发的时间。例如,RVISS中的定时器虚拟外设,提供有通用的定时器功能,可以虚拟产生中断。

5.ARM Profiler

ARM Profiler是ARM Workbench IDE的一个插件。使用ARM Profiler可以通过以下两种方式查看代码在目标系统上的执行情况:使用RealView ICE和RealView Trace 2在目标硬件上观察代码,或是针对ARM实时系统模型(RTSM)测试代码。当应用程序停止执行时,ARM Profiler会生成一个分析文件,其中包含有关已执行代码的详细信息(如各种函数的调用序列、计时特征、周期计数和指令计数)。RealView Profiler基于硬件和快速实时系统模型,使直观的用户界面和软件性能分析相结合,从而使得性能分析成为每个嵌入式软件开发者日常工作的必需部分,大大降低项目风险,加快工程进度。

6.处理器支持

RVDS支持以下处理器:

●ARM7、ARM9、ARM10和ARM11处理器系列。

●ARM11 MPCore多核处理器。

●Cortex系列处理器。

●RealView Debugger中的SecurCore、SC100和SC200处理器。

●RVCT中的SecurCore SC300处理器。

●RealView Debugger中支持Faraday FA526、FA626和FA626TE处理器。

●Marvell Feroceon 88FR101和88FR111处理器。

7.模拟器支持

RVDS支持以下模拟器:

●RealView ARMulator指令集模拟器(RVISS)。●指令集系统模型(ISSM)。●RTSM。●SoC Designer。