EDA365电子论坛网

标题: 几种ARM编译器及IDE开发环境 [打印本页]

作者: ssdgh    时间: 2021-9-7 10:06
标题: 几种ARM编译器及IDE开发环境
ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。   
' {5 q. d1 \2 w. o# v6 W
( j) z% B6 Y' P# [) s4 _用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。   ; |* Y# M( G8 S0 L4 I
( x- K) [+ R4 s: q, u
使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成 。( r6 X4 T. j9 r; w
' D* P( R+ m+ r& d7 \( ?
(一) SDT" n0 d: s# r( R+ [! t) p% j
& x6 @' H- c4 H- q+ u9 ~; A
  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工程管理器,完全图形界面,负责管理源文件,完成编辑、编译、链接并最终生成可执行映像文件等功能。
( g# s3 \! n# g8 Z$ g3 P: M$ |4 M' m' D2 Y$ Y5 B. g& W
" H2 }- X/ o$ i8 |  \- P
) E3 V. f- q4 t- H' C
(二) ADS/ I, ]4 v5 T) \3 ~9 I* a% D

* V* G; c" n8 ^" @7 S; v% b' IADS是ARM公司的集成开发环境软件,他的功能非常强大。他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C 编译器;实时调试器;应用函数库。; S, `6 [' k; d
ADS 的编译器调试器较SDT都有了非常大的改观, ADS1.2提供完整的WINDOWS界面开发环境。C编译器效率极高,支持c 以及c++,使工程师可以很方便的使用C语言进行开发。提供软件模拟仿真功能,使没有Emulators的学习者也能够熟悉ARM的指令系统。配合FFT -ICE使用,ADS1.2提供强大的实时调试跟踪功能,片内运行情况尽在掌握。ADS1.2需要硬件支持才能发挥强大功能。目前支持的硬件调试器有 Multi-ICE以及兼容Multi-ICE的调试工具如FFT-ICE。而简易下载电缆不能支持ADS1.2
! ~, s3 A- B5 g) {7 ~5 s  m- E9 u# x- D/ y, A. K8 b

' X7 p( j4 ]! k1 [- X/ B
# M# [  E) n2 W: V" H+ ^(二)REALVIEW DEVELOPER SUITE
! U$ |  }6 |2 U7 Q2 T. @4 n. e
& V1 b# v' J& T     RealView Developer Suite工具是ARM公司推出的新一代ARM集成开发工具。支持所有ARM 系列核,并与众多第三方实时操作系统及工具商合作简化开发流程。开发工具包含以下组件:& }5 m# l6 t: ]% o( ]

+ B) k7 H& e1 v' w' E 完全优化的ISO C/C++编译器
0 a& t4 _4 y' w. M C++ 标准模板库5 @  }3 `8 Y3 @7 R. [# I: e/ L8 W
强大的宏编译器
' n  w  M' y  {6 j  s 支持代码和数据复杂存储器布局的连接器* @6 L$ q8 V; M$ L& T
可选 GUI调试器5 v; ?# ?$ w' }  f( n7 U8 q& U
基于命令行的符号调试器(armsd)
- J9 J( F5 `, D; `8 i! C 指令集仿真器
; ~+ R6 K! l7 r: V6 b 生成无格式二进制工具、Intel 32位和Motorola 32位ROM映像代码的指令集模拟工具
0 J& l7 {  \2 o6 ` 库创建工具
; f5 e7 ~0 d3 ^, C) T5 {" L 内容丰富的在线文档
0 l% _) R" j- r' Y8 N: k5 M0 Q(三) RealView MDK
1 Y8 P2 H+ u- M, z; X. J3 H4 u, F
. E2 N. \. z, f! \! ?2 L" N  n  RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20% 。RealView MDK的RealView编译器与ADS 1.2比较:   代码密度:比ADS 1.2编译的代码尺寸小10%;   
7 L( s: j" K" _" X: O8 [: N" v! j3 W  O+ s; W# c6 ]
(四) GNU GCC编译器! K6 \- L: o! G

" h1 q8 ?, D/ \# r" H  M6 P  {! J  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工具还被广泛地移植到Windows和Mac OS上。
# v/ [6 W$ L1 v2 t
; c4 L) ^/ |( R! }(五) IAR EWARM/ {" K! y( _0 K  S4 |; {
( m6 f- a) T0 H! J. |
  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 的功能和使用方法。
2 w) d% F+ T& A% e  M4 R. x
! |  U, T: e9 \7 q! vIAR EWARM 的主要特点如下:   
( J, U& }  J) F% T- R
" |7 F, F1 S, A( y! a( j. W高度优化的IAR ARM C/C++ Compiler
# n9 `) m" ]' c4 sIAR ARM Assembler" j8 _' w7 }5 G1 _" U
一个通用的IAR XLINK Linker7 i4 _* T2 s+ R  J0 F0 t3 N: k
IAR XAR 和XLIB 建库程序和IAR DLIB C/C++运行库
! F1 r/ u& d" X! U* c" ]功能强大的编辑器
5 m+ y' b3 B% v项目管理器9 ]7 e; b- t  y3 T. J: J# Z  o
命令行实用程序
, e* V6 M) C; E0 C3 b+ ?IAR C-SPY 调试器(先进的高级语言调试器. v+ `5 Y0 X( n; d/ V) U( N
(六) KEIL ARM-MDKARM! p9 E& z+ v) V" `

! M0 U  A, W4 o) K8 J& o! ^  n  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转换器,用户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。  ; ]" w' c  ~3 l+ ^6 L5 R, v6 P5 P

2 v% K, o& n  H, _4 ~, i* m7 { 支持Philips、Samsung、 Atmel、 Analog Devices、 Sharp、 ST等众多厂商ARM7内核的ARM微控制器。
( M" ]3 x4 G1 S8 T% b$ n 高效工程管理的uVision3集成开发环境. Z' K1 W9 B' g6 K
Project/Target/Group/File的重叠管理模式,并可逐级设置;2 S( [; [. z+ U( _0 |- O
高度智能彩色语法显示;
* N& P$ ^) d- F 支持编辑状态的断点设置,并在仿真状态下有效。' q+ Q9 w5 R1 y/ a1 U
高速ARM指令/外设模拟器6 T& U1 f4 e/ r3 J; X2 n+ c
高效模拟算法缩短大型软件的模拟时间;$ N7 d- n3 m. b8 R
软件模拟进程中允许建立外部输入信号;
  S/ j% Y( J1 r( i8 m+ _ 独特的工具窗口,可快速查看寄存器和方便配置外设;
! D3 W% X' Z& y, Z5 L" \7 T 支持C调试描述语言,可建立与实际硬件高度吻合的仿真平台;, B% n7 ^7 \, N  z: ^: y
支持简单/条件/逻辑表达式/存储区读写/地址范围等断点。
' _+ }/ \& r7 @多种流行编译工具选择6 x% u2 q  _  i; ~
Keil高效率C编译器;
9 V; z, z0 Q" w7 ]+ O6 }' _ ARM公司的ADS/RealView 编译器;2 ^" }" G) t, z! Y
GNU GCC 编译器;+ n7 ]* n; A( R$ l/ v* t, f
后续厂商的编译器。; [( u; O* v1 {. t1 j0 A
(七) MULTI 2000* T5 a0 Y  z9 [) W2 u
7 d9 A2 a% J  l+ p; I
  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包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。
' ^% a7 l" k2 g& Y1 N
3 \# l" [) i: h) T( C(八) Embest IDE
6 S  S1 D* Y8 N9 E0 p4 N; }9 C
2 c. v5 d4 Q0 g; o6 K! B; [/ N  Embest IDE英文全称是Embest Integrated Development Environment,是深圳市英蓓特信息技术有限公司推出的一套应用于嵌入式软件开发的新一代集成开发环境。   Embest IDE是一个高度集成的图形界面操作环境,包含编辑器、编译器、汇编器、链接器、调试器等工具,其界面同Microsoft Visual Studio类似。 Embest IDE支持ARM、Motorola等多家公司不同系列的处理器,对于ARM系列处理器,目前支持到ARM9系列,包括ARM7、ARM5等低系列芯片。
; Z4 ?- \1 T5 I* u! z
! ~! w8 w' Y$ N* }# t# w(九) Hitool for ARM4 _5 t% M+ @+ f, R

9 x# Y9 X. V5 x2 {/ C5 ]/ J7 \- H2 d  由Hitool International Inc出品,是一种较新的ARM嵌入式应用软件开发系统,主要包括Hitool ARM Debugger、GNU Compiler(内建)、JTAG cable、评估板以及嵌入式实时操作系统ThreadX等。其中编译器模块可以替换成ARM ADS Compiler或ARM SDT Compiler。   其主要特点如下:   ( r- t/ ?5 @% J! K2 c0 C  |
) I# |: Z# ?9 Q, l6 r% H/ K  x2 B) K
近似MS Visual Studio的调试界面风格,可以在Win98/ME/NT等多种Win32环境下运行;   3 C; o) ?( {7 L% b' g, P, X( |
优秀的工程管理器、源代码和二进制代码编辑器、字符串搜索引擎以及调试目标的自由拖放等功能;  
5 {  ?, F0 q6 p: k! O 支持汇编、C以及C++源码级调试,不仅可以通过串口和并口进行本地调试,也可以通过TCP/IP进行远端调试;  
# F; K: }/ j3 Q$ I" q, Z( x 集成了S-Record、Binary和Disassembly格式的内存上下载工具,Flash编程工具;   * m, X% I3 l. N/ P, r8 }
支持 多种常用的Jtag Cable,具备通过宏和脚本实现的自动化调试功能。
* M7 a6 c% t" @
3 a* C0 k; ~/ i, R: o7 I
) ]0 ^) c% T! i
作者: CLBuu    时间: 2021-9-7 10:27
ADS的功能非常强大
作者: nuiga    时间: 2021-9-7 11:18
RealView Developer Suite工具支持所有ARM 系列核
作者: showmaker    时间: 2021-9-7 13:52
学习了  感谢分享
作者: damengshu    时间: 2021-9-7 15:25
Keil uVision调试器可以准确地调试ARM器件的片内外围功能




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2