《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > ARM嵌入式之开发工具

ARM嵌入式之开发工具

2015-09-28
关键词: ARM 嵌入式

  ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。
  用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。
  使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成
  (一) ARM SDT
  ARM SDT的英文全称是ARM Software Development Kit ,是ARM公司(为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。ARM SDT经过ARM公司逐年的维护和更新,目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM ADS 1.0,取ARM SDT而代之,今后将不会再看到ARM SDT的新版本。
  ARM SDT由于价格适中,同时经过长期的推广和普及,目前拥有最广泛的ARM软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成在自己的产品中,比如美国EPI公司的JEENI仿真器。
  ARM SDT(以下关于ARM SDT的描述均是以版本 2.50为对象)可在Windows95、98、NT以及Solaris 2.5/2.6、HP-UX 10上运行,支持最高到ARM9(含ARM9)的所有ARM处理器芯片的开发,包括StrongARM。
  ARM SDT包括一套完整的应用软件开发工具:
  *armcc ARM的C编译器,具有优化功能,兼容于ANSI C。
  *tcc THUMB的C编译器,同样具有优化功能,兼容于ANSI C。
  *armasm 支持ARM和THUMB的汇编器。
  *armlink ARM连接器,连接一个和多个目标文件,最终生成ELF格式的可执行映像文件。
  *armsd ARM和THUMB的符号调试器。
  以上工具为命令行开发工具,均被集成在SDT的两个Windows开发工具ADW和APM中,用户无需直接使用命令行工具。
  *APM Application Project Manageer,ARM工程管理器,完全图形界面,负责管理源文件,完成编辑、编译、链接并最终生成可执行映像文件等功能。
  (二) ADS
  ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。ADS 是全套的实时开发软件工具,包编译器生成的代码密度和执行速度优异。可快速低价地创建ARM 结构应用。ADS包括三种调试器ARMeXtended Debugger, AXD 向下兼容的ARMDebugger for Windows/ARM Debugger forUNIX 和ARM 符号调试器。其中AXD 不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。该产品还包括RealMonitor?(可以在前台调试的同时断点续存并且在不中断应用的情况下读写内存跟踪调试工具)。
  ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经发布到2.2。但国内大部分开发者使用的均是1.2版本。
  (三) RealView MDK
  RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括?Vision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%
  RealView MDK的突出特性:
  菜鸟的阿拉伯飞毯 —— 启动代码生成向导,自动引导,一日千里
  启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的?Vision3工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。。
  高手的无剑胜有剑 —— 软件模拟器,完全脱离硬件的软件开发过程
  RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。
  专家的哈雷望远镜 —— 性能分析器,看得更远、看得更细、看得更清
  RealView MDK的性能分析器好比哈雷望远镜,让您看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。
  业界最优秀的编译器——RealView 编译器,代码更小,性能更高
  RealView MDK的RealView编译器与ADS 1.2比较:
  代码密度:比ADS 1.2编译的代码尺寸小10%;
  代码性能:比ADS 1.2编译的代码性能高20%。
  配备ULINK2仿真器+ Flash编程模块,轻松实现Flash烧写
  RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。
  绝对的高性价比——国际品质,本土价格
  RealView MDK中国版保留了RealView MDK国际版的所有卓越性能,而产品价格和国内普通开发工具的价格差不多 ;另外我们还根据不同需求,专门定制了4个版本,以满足工程师们不同的需要。这绝对是您选择开发工具的首选。
  更贴身的服务——专业的本地化的技术支持和服务
  RealView MDK中国版用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将为国内工程师们开发出更有竞争力的产品提供更多的助力
  (四) GNU
  GNU是“GNU‘s Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。
  1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions
  到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器GCC,以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。
  1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,目前已经发布Beta版本。)
  许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。
  (五) ARM REALVIEW DEVELOPER SUITE
  RealView Developer Suite工具是ARM公司是推出的新一代ARM集成开发工具。支持所有ARM 系列核,并与众多第三方实时操作系统及工具商合作简化开发流程。开发工具包含以下组件:
  · 完全优化的ISO C/C++编译器
  · C++ 标准模板库
  · 强大的宏编译器
  · 支持代码和数据复杂存储器布局的连接器
  · 可选 GUI调试器
  · 基于命令行的符号调试器(armsd)
  · 指令集仿真器
  · 生成无格式二进制工具、Intel 32位和Motorola 32位ROM映像代 码的指令集模拟工具
  · 库创建工具
  · 内容丰富的在线文档
  (六) IAR EWARM
  Embedded Workbench for ARM 是IAR Systems 公司为ARM 微处理器开发的一个集成开发环境(下面简称IAR EWARM)。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。
  IAR Systems 公司目前推出的最新版本是IAR Embedded Workbench for ARM version 4.30。这里提供的是32k 代码限制、但没有时间限制的Kickstart版。
  EWARM 中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM 内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAR EWARM 的功能和使用方法。
  IAR EWARM 的主要特点如下:
  1、高度优化的IAR ARM C/C++ Compiler
  2、IAR ARM Assembler
  3、一个通用的IAR XLINK Linker
  4、IAR XAR 和XLIB 建库程序和IAR DLIB C/C++运行库
  5、功能强大的编辑器
  6、项目管理器
  7、命令行实用程序
  8、IAR C-SPY 调试器(先进的高级语言调试器
  (七) KEIL ARM-MDKARM
  Keil uVision调试器可以帮助用户准确地调试ARM器件的片内外围功能(I2C、 CAN、UART、SPI、中断、I/O口、A/D转换器、D/A转换器和PWM模块等功能)。ULINK USB-JTAG转换器将PC机的USB端口与用户的目标硬件相连(通过JTAG或OCD),使用户可在目标硬件上调试代码。通过使用Keil uVision IDE/调试器和ULINK USB-JTAG转换器,用户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。
  支持Philips、Samsung、 Atmel、 Analog Devices、 Sharp、 ST等众多厂商ARM7内核的ARM微控制器。
  高效工程管理的uVision3集成开发环境
  * Project/Target/Group/File的重叠管理模式,并可逐级设置;
  * 高度智能彩色语法显示;
  * 支持编辑状态的断点设置,并在仿真状态下有效。
  高速ARM指令/外设模拟器
  * 高效模拟算法缩短大型软件的模拟时间;
  * 软件模拟进程中允许建立外部输入信号;
  * 独特的工具窗口,可快速查看寄存器和方便配置外设;
  * 支持C调试描述语言,可建立与实际硬件高度吻合的仿真平台;
  * 支持简单/条件/逻辑表达式/存储区读写/地址范围等断点。
  多种流行编译工具选择
  * Keil高效率C编译器;
  * ARM公司的ADS/RealView 编译器;
  * GNU GCC 编译器;
  * 后续厂商的编译器。
  (八) MULTI 2000
  Multi 2000是美国Green Hills软件公司开发的集成开发环境,支持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包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。
  (九) Embest IDE
  Embest IDE英文全称是Embest Integrated Development Environment,是深圳市英蓓特信息技术有限公司推出的一套应用于嵌入式软件开发的新一代集成开发环境。
  Embest IDE是一个高度集成的图形界面操作环境,包含编辑器、编译器、汇编器、链接器、调试器等工具,其界面同Microsoft Visual Studio类似。 Embest IDE支持ARM、Motorola等多家公司不同系列的处理器,对于ARM系列处理器,目前支持到ARM9系列,包括ARM7、ARM5等低系列芯片。
  (十) Hitool for ARM
  由Hitool International Inc出品,是一种较新的ARM嵌入式应用软件开发系统,主要包括Hitool ARM Debugger、GNU Compiler(内建)、JTAG cable、评估板以及嵌入式实时操作系统ThreadX等。其中编译器模块可以替换成ARM ADS Compiler或ARM SDT Compiler。
  其主要特点如下:
  1) 近似MS Visual Studio的调试界面风格,可以在Win98/ME/NT等多种Win32环境下运行;
  2) 优秀的工程管理器、源代码和二进制代码编辑器、字符串搜索引擎以及调试目标的自由拖放等功能;
  3) 支持汇编、C以及C++源码级调试,不仅可以通过串口和并口进行本地调试,也可以通过TCP/IP进行远端调试;
  4) 集成了S-Record、Binary和Disassembly格式的内存上下载工具,Flash编程工具;
  5) 支持多种常用的Jtag Cable,具备通过宏和脚本实现的自动化调试功能。
  (十一) JEENI仿真器
  JEENI仿真器是美国EPI公司生产的专门用于调试ARM7系列的开发工具。它与PC之间通过以太网口或串口连接,与ARM7目标板之间通过JTAG口连接。该仿真器使用独立电源。
  JEENI仿真器支持ARM/THUMB指令,支持汇编/高级语言调试。用户应用程序通过JEENI仿真器下载到目标RAM中。通过JEENI仿真器,用户可以观察/修改ARM7的寄存器和存储器的内容,用户可以在所下载的程序上设置断点,用户可以以汇编/高级语言单步执行程序,也可以全速运行程序,用户可以观察高级语言变量的数据结构及内容并对变量的内容在线修改。
  JEENI 内部使用了一片带有高速缓存的 ARM 处理器,支持对调试操作的快速响应,比如:单步、读写存储器、读写寄存器和下载应用程序到目标板。JEENI 的这种结构,允许以太网接口在处理器执行JTAG指令的同时访问存储器。这种设计极大的提高了下载速度。
  JEENI仿真器能够很好地与SDT2.5工具连接,用户可使用SDT的编译器和调试界面。JEENI 对那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用户来说是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多数第三方的调试器也都支持 JEENI
  (十二) ULINK2 仿真器
  ULINK2是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink仿真器的升级版本。ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG, SWD和 OCDS)、Flash编程…
  ULINK2 新特点:
  标准Windows USB驱动支持ULINK2即插即用
  支持基于 ARM Cortex-M3的串行调试
  支持程序运行期间的存储器读写、终端仿真和串行调试输出
  支持10-pin 连接线 (也支持20-pin 连接线)
  ULINK2主要功能:
  USB通讯接口高速下载用户代码
  存储区域/寄存器查看
  快速单步程序运行
  多种程序断点
  片内Flash编程
  (十三) Multi-ICE
  Multi-ICE是ARM公司自己的JTAG在线仿真器,目前的最新版本是2.1版。
  Multi-ICE的JTAG链时钟可以设置为5 kHz到10 MHz,实现JTAG操作的一些简单逻辑由FPGA实现,使得并行口的通信量最小,以提高系统的性能。Multi-ICE硬件支持低至1V的电压。Multi-ICE 2.1还可以外部供电,不需要消耗目标系统的电源,这对调试类似手机等便携式、电池供电设备是很重要的。
  Multi-ICE 2.x支持该公司的实时调试工具MultiTrace,MultiTrace包含一个处理器,因此可以跟踪触发点前后的轨迹,并且可以在不终止后台任务的同时对前台任务进行调试,在微处理器运行时改变存储器的内容,所有这些特性使延时降到最低。
  Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM 10和Intel Xscale微结构系列。它通过TAP控制器串联,提供多个ARM处理器以及混合结构芯片的片上调试。它还支持低频或变频设计以及超低压核的调试,并且支持实时调试。
  Multi-ICE提供支持Windows NT4.0、Windows95/ 98/2000/Me、HPUX 10.20 和 Solaris V2.6/7.0的驱动程序。
  Multi-ICE主要优点:
  快速的下载和单步速度。
  用户控制的输入/输出位。
  可编程的JTAG位传送速率。
  开放的接口,允许调试非ARM的核或DSP。
  网络连接到多个调试器。
  目标板供电,或外接电源

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。