ARM SDT还提供一些实用程序,如fromELF、armprof、decaxf等,可以将ELF文件转换为不同的格式,执行程序分析以及解析ARM可执行文件格式等。 ARM SDT集成快速指令集模拟器,用户可以在硬件完成以前完成一部分调试工作;ARM SDT提供ANSI C、C++、Embedded C函数库,所有库均以lib形式提供,每个库都分为ARM指令集和THUMB指令集两种,同时在各指令集中也分为高字节结尾(big endian)和低字节结尾(little endian)两种。 用户使用ARM SDT开发应用程序可选择配合Angel驻留模块或者JTAG仿真器进行,目前大部分JTAG仿真器均支持ARM SDT。 ARM SDT 2.50的零售价一般在4000美元到4500美元。 三、 ARM ADS ARM ADS的英文全称为 ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具,用来取代ARM公司以前推出的开发工具ARM SDT,目前ARM ADS的最新版本为1.2。 ARM ADS起源于ARM SDT,对一些SDT的模块进行了增强并替换了一些SDT的组成部分,用户可以感受到的最强烈的变化是ADS使用CodeWarrior IDE集成开发环境替代了SDT的APM,使用AXD替换了ADW,现代集成开发环境的一些基本特性如源文件编辑器语法高亮,窗口驻留等功能在ADS中才得以体现。 ARM ADS支持所有ARM系列处理器包括最新的ARM9E和ARM10,除了ARM SDT支持的运行操作系统外还可以在Windows2000/Me以及RedHat Linux上运行。 ARM ADS由六部分组成: * 代码生成工具(Code Generation Tools) 代码生成工具由源程序编译、汇编、链接工具集组成。ARM公司针对ARM系列每一种结构都进行了专门的优化处理,这一点除了作为ARM结构的设计者的ARM公司,其他公司都无法办到,ARM公司宣称,其代码生成工具最终生成的可执行文件最多可以比其他公司工具套件生成的文件小20%。 *集成开发环境(CodeWarrior IDE from Metrowerks) CodeWarrior IDE是Metrowerks公司一套比较有名的集成开发环境,有不少厂商将它作为界面工具集成在自己的产品中。CodeWarrior IDE包含工程管理器、代码生成接口、语法敏感编辑器、源文件和类浏览器、源代码版本控制系统接口、文本搜索引擎等,其功能与Visual Studio相似,但界面风格比较独特。ADS仅在其PC机版本中集成了该IDE。
* 指令集模拟器(Instruction Set Simulators) 用户使用指令集模拟器无需任何硬件即可在PC机上完成一部分调试工作。 * ARM 开发包(ARM Firmware Suite) ARM开发包由一些底层的例程和库组成,帮助用户快速开发基于ARM的应用和操作系统。具体包括系统启动代码、串行口驱动程序、时钟例程、中断处理程序等,Angel调试软件也包含在其中。 * ARM应用库(ARM Applications Library) ADS的ARM应用库完善和增强了SDT中的函数库,同时还包括一些相当有用的提供了源代码的例程。 用户使用ARM ADS开发应用程序与使用ARM SDT完全相同,同样是选择配合Angel驻留模块或者JTAG仿真器进行,目前大部分JTAG仿真器均支持ARM ADS。 ARM ADS的零售价为5500美元,如果选用不固定的许可证方式则需要6500美元。 四、 Multi 2000 Multi 2000是美国Green Hills软件公司(www.ghs.com)开发的集成开发环境,支持C/C++/Embedded C++/Ada 95/Fortran编程语言的开发和调试,可运行于Windows平台和Unix平台,并支持各类设备的远程调试。 Multi 2000支持Green Hills公司的各类编译器以及其它遵循EABI标准的编译器,同时Multi 2000支持众多流行的16位、32位和64位处理器和DSP,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等,并支持多处理器调试。 Multi 2000包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。Multi 2000各模块相互关系以及和应用系统相互作用如下图所示:
l 工程生成工具(Project Builer) 工程生成工具实现对项目源文件、目标文件、库文件以及子项目的统一管理,显示程序结构,检测文件相互依赖关系,提供编译和链接的图形设置窗口,并可对编程语言的进行特定环境设定。
l 源代码调试器(Source-Level Debugger) 源代码调试器提供程序装载、执行、运行控制和监视所需要的强大的窗口调试环境,支持各类语言的显示和调试,同时可以观察各类调试信息。
l 事件分析器(EventAnalyzer) 事件分析器提供用户观察和跟踪各类应用系统运行和RTOS事件的可配置的图形化界面,它可移植到很多第三方工具或集成到实时操作系统中,并对以下事件提供基于时间的测量:任务上下文切换、信号量获取/释放、中断和异常、消息发送/接受、用户定义事件。
l 性能剖析器(Performance Profiler) 性能剖析器提供对代码运行时间的剖析,可基于表格或图形显示结果,有效的帮助用户优化代码。
l 实时运行错误检查工具(Run-Time Error Checking) 实时运行错误检查工具提供对程序运行错误的实时检测,对程序代码大小和运行速度只有极小影响,并具有内存泄漏检测功能。 l 图形化浏览器(Graphical Brower) 图形化浏览器提供对程序中的类、结构变量、全局变量等系统单元的单独显示,并可显示静态的函数调用关系以及动态的函数调用表。
l 文本编辑器(Text Editor) Multi 2000的文本编辑器是一个具有丰富特性的用户可配置的文本图形化编辑工具,提供关键字高亮显示、自动对齐等辅助功能。 l 版本控制工具(Version Control System) Multi 2000的版本控制工具和Multi 2000环境紧密结合,提供对应用工程的多用户共同开发功能。Multi 2000的版本控制工具通过配置对支持很多流行的版本控制程序,如Rational公司的ClearCase等。