ARM DS5 开发工具 亿道电子.docx
《ARM DS5 开发工具 亿道电子.docx》由会员分享,可在线阅读,更多相关《ARM DS5 开发工具 亿道电子.docx(18页珍藏版)》请在冰豆网上搜索。
ARMDS5开发工具亿道电子
ARMDevelopmentStudio5(DS-5)功能描述及模块简介
DS-5应用场景:
∙使用DS-5,可以轻松地为基于ARM处理器的平台开发Linux应用程序。
它降低了学习难度,缩短了开发和测试周期,帮助您快速生成可靠的应用程序。
∙经济实惠的专业解决方案,适用于以C/C++开发Linux和Android应用程序和库的开发人员。
它利用诸如以太网和USB等标准连接进行应用程序调试和系统性能分析。
适用于基于Linux的系统的端对端软件开发工具。
此外还提供裸机和内核级别的调试与跟踪功能。
也包含了ARM唯一和处理器联合开发的商用编译器,提供强大完善的技术支持。
ARMDS-5™的主要特点
集成式开发环境和ARM编译工具
●定制的EclipseIDE,与第三方插件兼容
●ARM编译器,这是与ARM内核一起开发的优化编译工具
●功能强大的C/C++编辑器和项目管理器
●集成的生产力实用工具,例如远程系统浏览器、SSH和Telnet终端等。
DS-5调试器
●
针对裸机、RTOS以及Linux和Android平台的调试支持
●非侵入性周期准确的ETM和PTM指令跟踪
●对SMP系统的无缝支持
●用于更快调试周期的自动调试会话
●ITM和STM测量跟踪
●预配置和自定义平台支持
Streamline性能分析器
●
Linux和Android系统的系统性能分析
●按进程、线程、功能和源代码的CPU使用情况统计信息
●基于事件的采样,允许为源代码分配PMU计数器(如高速缓存未命中次数)
●ARMMali™GPU图形性能分析
●探测以获取和关联实际功耗数据和系统性能
●通过网络收集数据-不需要调试适配器
实时模拟器
●Cortex™-A8和双核Cortex-A9模型模拟器
●高于250MHz的典型模拟速度
●到模拟器的停止模式或运行模式调试连接
●为Cortex-A8上的Linux应用程序调试提供的ARM嵌入式Linux分发
ARM产品和服务质量
●从第一天起开发质量软件所需的所有信息
●请参见“资源”选项卡以查看产品文档、视频、博客帖子等
●专家支持,提供有关如何充分利用您的工具的建议
●选择面宽的技术培训课程
DS-5版本
»DS-5专业版基本模块:
∙EclipseIDE-带源代码编辑器和项目管理器
∙编译器-基于GNU的编译工具
∙调试器-功能齐全的图形应用程序和裸机调试器
∙Streamline™-系统范围的性能分析
∙模拟器-Cortex-A8SoC的快速仿真模型
∙远程系统浏览器-基于SSH的目标文件系统浏览器
∙与Windows和Linux主机平台兼容
新增功能:
∙正式发布了Streamline性能分析器1.0,支持ARM9和Cortex-A8(ARM11试用版)
∙扩展了试用版的裸机调试功能,还支持AtmelAT91SAM9G45、Freescalei.MX28/i.MX35/i.MX51和Marvell88SV581x(请参见支持的平台列表)。
需要 DSTREAM或 RVI单元DS-5
∙调试器现在支持在“表达式”、“寄存器”和“变量”视图中执行搜索
∙调试器的符号搜索速度更快
∙增加了一个对话框,可在调试会话期间加载映像和调试信息
∙为 Android本机应用程序调试提供基本支持
主机系统要求:
最小配置
∙双核2GHz处理器或同等处理器
∙2GBRAM(建议4GB)
∙约1 GB硬盘空间。
操作系统
∙WindowsXPProfessionalServicePack3(32位)
∙Windows7专业版和企业版(32/64位)
∙RedHatEnterpriseLinux5桌面版和工作站选项、标准版(32/64位)
各模块功能描述:
DS-5EclipseIDE
Workbench和IDE概述
DS-5基于标准Eclipse开发环境,提供一流的窗口管理、项目管理和C/C++源代码编辑工具。
用户可以将DS-5安装为独立的Eclipse或用作现有Eclipse环境的插件。
源代码编辑
EclipseIDE的功能齐全C/C++源代码编辑器可以帮助您将更多时间用于编写代码,减少更正语法错误的时间。
∙列出函数、变量和声明的大纲视图
∙突出显示您的C/C++源代码中的语法错误
∙针对C/C++和ARM/Thumb/Thumb2汇编的可配置语法颜色方案和代码格式
∙完整的更改历史记录,可以与常见的源代码控制系统(包括CVS和SVN)集成
到目标的文件传输
DS-5包括一个远程系统浏览器(RSE)视角,可以将应用程序和库轻松传输到目标上的Linux文件系统。
∙提供到目标的FTP连接,可以浏览其文件系统、创建新文件夹以及从主机拖放文件
∙通过在FTP视图中双击相应的文件来打开目标的文件系统上的文件。
在Eclipse中编辑它们并将它们直接保存到目标的文件系统
∙通过Shell和终端窗口可以在目标系统上运行Linux命令,而无需显示器和键盘
∙显示在目标上运行的进程列表
窗口管理
Eclipse中的灵活窗口管理系统使您可以充分利用可视工作区。
∙支持多个源代码和调试器视图
∙根据需要排列您的窗口:
浮动(分离)、停靠、选项卡式或最小化到“快速视图”栏
∙通过将分离的窗口拖放到其他显示器支持多屏幕设置
DS-5GNU编译器
概述
GNU编译器(GCC)是DS-5中的入门级C/C++编译器。
增强的GNU编译器
预置且经过验证的GNU编译器版本,提供对ARM体系结构的ARMLinux增强支持。
∙为ARMCortex处理器上使用的常用混合32/16位 Thumb®-2指令集提供更好的支持
∙支持最新的 ARMCortex-A系列处理器-Cortex-A5、Cortex-A8和Cortex-A9
∙基于GCC4.4.1
示例项目
为了使您快速开始Linux开发,DS-5提供一个完整的Linux示例,该示例可以在ARMVersatile板或Cortex-A8SoC的集成RTSM模型上运行。
验证
预置的GNU编译工具已经过广泛验证,以确保正确的操作,包括:
∙已完成FSFGNU编译器集合回归测试套件
∙通过生成ARM嵌入式Linux示例进行验证
DS-5调试器
用于ARM架构的专业的系统范围调试环境
概述
DS-5调试器兼具集成微控制器工具的方便性和高生产率以及针对Linux开源工具的强大功能和灵活性。
其基于Eclipse的GUI简化了管理不同目标连接类型的复杂工作,可为裸机、RTOS和Linux/Android内核及用户空间调试提供同类体验。
专业的端到端调试器
∙直观的单用户界面,可用于从启动加载程序到应用程序调试的所有软件层
∙由ARMCC和GCC编译器生成的调试代码
∙专业支持的解决方案,可为软件开发提供可靠性和实时响应
∙一个许可证可用于所有支持的ARM应用程序核心
高级会话控制和系统视图
∙从单个调试器环境控制针对一个或多个目标的多个同时发生的调试会话
∙无缝支持运行和停止模式调试
∙完整系统可见性:
内存、CPU寄存器、外围寄存器、帧缓冲区等
非侵入性跟踪分析
∙具有源代码同步功能的ETM和PTM指令跟踪
∙STM和ITM测量跟踪支持
∙用于跟踪日志分析的指令和函数视图
∙具有DSTREAM的最多4GB的片外跟踪缓冲区
Linux和Android™识别
∙Linux内核和用户空间上下文识别,包括进程和线程
∙与SMP平台完全兼容
∙模块视图,列出动态加载的模块和共享库
可提高生产率的功能
∙自动化工作流:
连接、下载和运行
∙与GDB相似的命令行控制台和脚本撰写功能
∙目标文件系统浏览器
∙设备数据库和可定制的闪存编程
DS-5Streamline
充分利用ARM支持的系统
ARMStreamline™性能分析器为软件开发人员提供了一种直观的方法来优化在ARM支持的平台上运行的基于Linux的系统。
Streamline基于低开销的抽样技术,特有以用户为中心的图形界面,可显示从系统范围的CPU负载到源代码中的热点等信息,这样,开发人员就能够轻松确定性能瓶颈、多线程问题和一般的资源利用率低下问题。
ARMStreamline作为ARMDevelopmentStudio5的组件发行。
益处
代码运行速度更快 负载均衡 资源效率
●无需调试或跟踪硬件即可执行系统范围的分析
Streamline只需要通过标准TCP/IP网络连接到目标以获取和分析系统范围的性能数据。
此外,也无需在目标上加载调试符号,而是使用包含Streamline用于目标的软件的实际生产软件映像来进行分析。
另外,开发人员还可选择在支持源代码级和指令级性能分析的主机上加载焦点二进制的调试符号。
●支持嵌入:
占用的内存空间小、CPU开销低
Streamline用于目标的软件可以选择将收集的所有数据通过网络连接流式传输到主机,因此,目标上无需大的缓冲区,并可在几小时内完成性能分析。
而且,还可通过配置抽样频率来控制Streamline自身的开销,通常将减少5%且明确显示在每个分析结果中,以便开发人员对于探针效果不会感到意外。
●基于时间的分析:
了解简单分析背后的内容
时间表”视图提供了一种创新的显示方法,其中显示有关目标上运行的软件的信息以及该软件对与性能相关的系统参数的影响,如整体CPU负载、高速缓存未命中次数、中断数和内核周期。
使用此视图,开发人员可以轻松地确定与线程序列、负载均衡、异步事件和更多内容相关的问题。
“详细信息”栏是对“时间表”视图的补充,方便开发人员调查任何给定时刻哪些函数/进程占用了更多CPU时间,并且只需单击即可将它们与性能计数器相关联。
●确定关键路径
每个函数的行为千差万别,具体取决于它所在的调用链。
“调用路径”视图显示出按进程和线程汇总的分层CPU使用情况统计信息,以便开发人员可以检查在特定线程内调用函数或库与从其他位置调用它们相比是否要占用更多CPU时间。
调用图形是以图形方式映射函数之间的关系,帮助开发人员更好地了解软件流。
ARM编译器
认识新的ARM编译器5
ARM最新版本的代码生成工具链现已在ARMDS-5™Professional版中提供。
ARM编译器5取代了ARMRVDS4.1,为最广泛的ARM处理器提供准确、安全和优化的代码。
ARMRVDS™4.1中的ARM®编译器是唯一一个与ARM处理器联合开发的商用编译器,专门设计用于为ARM架构提供最优支持。
该编译器的开发历经20年,它被公认为业界标准的面向ARM处理器C和C++编译器,用于生成面向ARM、Thumb、Thumb-2、VFP和NEON指令集的应用程序。
∙ARM处理器设计用于以最佳方式执行ARM编译器生成的代码
∙ARM编译器支持所有ARM处理器中的新增处理器功能
∙由分析驱动的编译将自动基于运行时信息优化代码
∙ARM编译器支持生成SymbianOS和ARMLinux应用程序及库
RVDS4.1编译器与RVDS4.0相比,最佳代码大小减少了多达5%,并使最佳性能提高了10-15%。
除了ARM编译器之外,先进的NEON矢量化编译器(RVDS专业版的一部分)支持从标准的C和C++代码自动生成ARMNEONSIMD代码序列。
NEON矢量化编译器可使关键多媒体内核的速度提高4倍,最终使整体应用程序性能提高2倍。
针对成本极为敏感型设备的开发
为进一步提高基于ARM处理器的一系列应用程序的代码密度,ARM编译器特别提供了一个可选的microlibC库(ISO标准C运行时库的子集),该库的大小已针对微控制器应用进行了最小化。
microlibC库的运行时库代码大小缩减了92%。
与Cortex-M类处理器结合使用时,microlibC库提供完全基于C语言的开发环境,而不必还原为汇编语言-即便对中断服务例程也是如此。
这样就无需具体了解ARM架构。
microlibC库所节省的内存空间将取决于应用程序,“helloworld”应用程序可节省97%,Dhrystone之类的较为复杂的应用程序可节省50%。
降低Linux应用程序开发的风险
ARM编译器团队所创建的针对ARM架构的ABI同样可在ARMGNU编译器中实现。
这样,即可支持创建和使用可在不同开发环境间共享的库。
GNU编译器与ARM编译器相互兼容意味着可以使用ARM编译器生成Linux应用程序。
ARM编译器能为您的开发团队提供高质量的商用工具包可提供的卓越的支持和性能、稳定性和代码大小优势。
精确的代码生成
现今的许多算法都是使用浮点数据表示法从数学建模软件自动生成的。
因此,IEEE位表示和浮点表示的精度对于生成的代码能否正确运算至关重要。
ARM编译器选择的默认库提供完整的C/C++功能,包括C++异常处理和IEEE754浮点支持。
该编译器可选择性地生成代码以使用软件浮点或任何ARM硬件浮点单元。
不论使用哪种方法,该编译器均可生成符合IEEE754标准的完整代码。
这意味着您的应用程序将生成完全相同的数据,而不论采用哪种目标处理器,从而加快了从某一设备到其他设备的移植。
面向高等数学和DSP样式的解决方案
内部函数提供针对未能很好地映射到高级语言的公用代码序列或指令的支持。
●ETSI内部函数提供用在若干示例算法中的电信基元
●TIC55内部函数支持为利用特定于TI的扩展而编写的算法
●Cortex-M4内部函数用于面向板载DSP
●其他内部函数允许访问从C语言不易访问的所有ARM硬件指令,降低了以汇编语言编写代码的需要
尽可能在早期处理器上模拟内部函数。
DS-5RTSM模拟器
实时系统模型
通过DS-5应用版本中的Cortex-A8RTSM,不需要硬件目标就可以开发Linux应用程序。
RTSM是ARM硬件平台的一个实时模拟模型,其中包括运行复杂的操作系统和应用程序所需的处理器、内存控制器和外设。
借助于Cortex-A8RTSM,不需要任何硬件就可以基于ARM处理器开发Linux应用程序。
∙在典型的桌面PC上模拟速度超过250MHz
∙将使用主机PC上的资源模拟外设接口,包括LCD控制器、键盘、鼠标、触摸屏、UART和以太网控制器
DS-5包括一个移植到Cortex-A8RTSM的基于ARM处理器的Linux发行版示例。
当从Eclipse中启动时,此模型自动引导Linux并进入可加载和调试应用程序的状态。
DS-5支持的平台
支持的设备
厂商
设备
编译
应用调试
分析
JTAG
调试
专用寄存器
ETB
跟踪
AT91SAM9G45
•
•
•
•
•
i.MX25
•
•
•
•
i.MX27
•
•
•
•
i.MX28
•
•
•
•
•
i.MX31
•
•
•
•
i.MX35
•
•
•
•
•
i.MX51
•
•
•
•
•
88SV581x
•
•
•
•
LPC3xxx
•
•
•
•
SPEAr300
•
•
•
•
SPEAr310
•
•
•
•
SPEAr320
•
•
•
•
AM35xx
•
•
•
•
AM37xx
•
•
•
•
OMAP34xx
•
•
•
•
OMAP35xx
•
•
•
•
•
•
OMAP-L13x
•
•
•
•
OtherARMPowered®devices
ARM926EJ-S
•
•
•
ARM1136JF-S
•
•
•
Cortex-A5
•
Cortex-A8
•
•
•
Cortex-A9
•
•
•
Requirements
gdbserver6.8+
LinuxKnl2.6.32+
DSTREAMor
RVIunit
经过验证的开发平台
(根据设备厂商)
设备厂商
ARM核心
主板
ARM926EJ-S
AtmelAT91SAM9G45-EK-ES
ARM926EJ-S
Freescalei.MX28EVK
Zoomi.MX27Litekit
ARM1136JF-S
Icytecturei.MX35Starter
LogicPDZoomi.MX31Litekit
Silicai.Evolutioni.MX35
Cortex-A8
Freescalei.MX51PDK
SheevaPJ4
Marvell88SV581x-v7-PJ4
ARM926EJ-S
FDIDK-57TS-LPC3250
ARM926EJ-S
STEVALSPEAr300
STEVALSPEAr310
STEVALSPEAr320
ARM926EJ-S
LogicPDZoomOMAP-L138Xp
Cortex-A8
LogicPDZoomAM3517EVM
MistralAM/DM37xEVM
TIBeagleBoard
TIBeagleBoardxM
ZoomOMAP34xMDP