




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第4 4章 ARMARM嵌入式开发流程和开发工具 嵌入式系统的设计可以分成三个阶段: 分析、设计和实现。分析阶段是确定要解决的问 题及需要完成的目标, 也常常被称为 需求阶段;设计阶段主要是解决如何在给定的约束条 件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的根底上进行整个 软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件 平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。 通常硬件和软件的选择包括: 处理器、硬件部件、操作系统、编程语言、软件开发工具、 硬件调试工具、软件组件等。 在上述选择中,通常,处理器是最重要的,同时操作
2、系统和编程语言也是非常关键的。 处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。 4.1 ARM 嵌入式开发模式 嵌入式系统与一般 PC机在开发的硬件环境上的最大差异就是它分成两个平台, 一个是 宿主机Host, 一个是目标机Target。这里的宿主机通常就是 PC 机,首先利用宿主机 上丰富的资源、良好的开发环境编写和编译能够在目标机上运行的程序, 这个过程叫做交叉 编译,然后通过串口、并口、网络或其它接口通过一定的传输手段将交叉编译生成的目标代 码传输并装载到目标机上。图 4-1 中就是采用并在线仿真器与目标机和宿主机进行连接, 从而实现目标代码的运行和调试
3、。宿主机的工作环境可以是 Windows 98, Windows XP , Windows 2000 以及 RedHat 等操作系统,具体选择何种操作系统是由所采用的仿真器和所开 发的软件决定,在 ARM 的开发过程中对于不同的软件开发阶段所采用的调试手段是不同的, 宿主机的操作系统需求也就不一样。详细的描述请参考本节后面的内容。 图 4-1 所示为一个典型的目标机 /宿主机开发模式。宿主机运行 ADS 1.2 集成开发环境, 并通过在线仿真器Multi-ICE 对目标处理器Samsung 公司的基于 ARM920T核的 S3c2410 处理器ARM处理器进行调试。宿主机和在线仿真器通过并口连
4、接,在线仿真器同时连接 到目标机的 JTAG接口。 图 4-1 目标机/宿主机开发模式 4.2 ARM 嵌入式开发流程和开发工具 ARM 嵌入式系统的开发流程非常灵活而复杂,尤其是软件开发过程牵涉到许多不同的 开发过程,而且每个开发过程所使用的开发工具均不尽相同,因此,在深入学习 ARM 软件 开发之前,有必要对 ARM 嵌入式开发流程和所使用的开发工具有一个初步的了解, 本节就 是要到达这样的目的,至于各个开发过程和开发工具的详细介绍请参考后续有关章节。 宿主机 u ADS 1.2 _ o 在线仿真器 Multi-ICE _ JTAG 接口 嵌入式系统 S3C2410 (ARM920T) 并
5、口 4.2.1 选择硬件平台 1、处理器的选择 嵌入式系统的核心部件是各种类型的嵌入式处理器。 据不完全统计, 目前全世界嵌入式 处理器的品种总量已经超过 1000 多种,流行体系结构有 30 几个系列。但与全球 PC 市场不 同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以 32 位的 CPU 而言, 就有 100 种以上嵌入式微处理器。 由于嵌入式系统设计的差异性极大, 因此选择是多样化的。 ARM 是近年来在嵌入式系统有影响力的微处理器制造商, ARM 的设计非常适用于小 的电源供电系统。 Apple 在 Newton 手持计算机中使用 ARM , 另外有几款数字无线 也在
6、 使用 ARM 。 设计者在选择处理器时要考虑的主要因素有: 1处理性能 一个处理器的性能取决于多个方面的因素, 如时钟频率, 内部存放器的大小, 指令是否 对等处理所有的存放器等。 对于许多需用处理器的嵌入式系统设计来说, 目标不是在于挑选 速度最快的处理器,而是在于选取能够完成设计目标的处理器。 比方: 对于 ARM 处理器, 如果需要使用软解压实现视频, 应该尽量选用 ARM9、 Xscale 等高档处理器。而对于一般工业控制,那么可以考虑 ARM7 芯片是否满足要求。 2技术指标 当前, 许多嵌入式处理器都集成了外围设备的功能, 减少了芯片的数量, 降低了整个系 统的开发费用和技术难度
7、。 开发人员首先考虑的是, 系统所要求的一些硬件能否方便地连接 到处理器上。其次是考虑该处理器的一些支持芯片,如 DMA 控制器,内存管理器,中断控 制器,串行设备、时钟等的配套。 各个厂家市场的 ARM 芯片都根据不同的设计目标扩展了丰富的接口, 在选择处理器时 应该考虑选择能够支持尽可能多的功能,尤其是相对设计复杂的功能。 3功耗 嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、 PDA、 、GPS 导航器、 智能家电等消费类电子产品。 这些产品对微处理器的根本要求是: 高性能、 低功耗。 4操作系统和软件支持工具的选择 操作系统的移植和开发是嵌入式设计中的一个关键阶段。 处理
8、器和操作系统的选择在一 定程度上互相影响, 同时又将影响其软件支持工具, 因此, 处理器的选择的同时必须充分考 虑操作系统的因素。 在 ARM 系统中,如果用户希望使用 Windows CE、 Linux 等操作系统,就需要选择 ARM720T 以上带有 MMU Memory Management Unit功能的 ARM 芯片,ARM720T、 ARM920T 、 ARM922T 、 ARM946T 、 Strong-ARM 都带有 MMU 功能。而 ARM7TDMI 那么没 有 MMU ,不支持 Windows CE和 Linux,但目前有 uCLinux 以及 uC/OS-II等不需要 M
9、MU 支持的操作系统可运行于 ARM7TDMI 硬件平台之上。事实上, uCLinux 已经成功移植到多 种不带 MMU 的微处理器平台上,并在稳定性和其他方面都有上佳表现。 另外,如果断定采用 Linux、 Windows CE 、 vxWorks 等操作系统时,在选择处理器时应 该尽量选择该操作系统已经支持的处理器,这样可以大大加快开发进度,降低难度。 选择不同的操作系统, 其软件开发过程和调试手段各不相同, 你的选择方案是否能够提 供各个开发阶段包括 bootloader 开发、操作系统移植、驱动开发和应用开发所需的软件 支持工具也是一个必须考虑的因素。 5是否内置调试工具 处理器如果内
10、置调试工具可以大大缩小调试周期,降低调试的难度。 ARM 提供 JTAG 调试接口,而且有众多的第三方厂家推出各种调试工具。 2、硬件平台的选择 选择好目标微处理器后还需要准备硬件平台。 目前国内外有许多针对各种 ARM 股处理器 的开发板,这些开发板对所支持的 ARM 股处理器做了详细的硬件评估和软件支持。 在自己动 手设计硬件平台之前, 购置一块这种开发板作为测试平台, 进行学习和参考, 这样可以大大 加快开发进度。 对于一些应用, 也可以直接在这些开发板上进行, 这样可以省略硬件设计的 阶段。 如果您不打算购置开发板作为测试平台,您就需要自行设计硬件平台。在本书的第 5 章中,以目前国内
11、 ARM9 勺主流芯片:Samsung 公司的 S3c2410 为例,详细介绍了该处理器 的硬件架构和硬件接口扩展方法。 4.2.2 硬件驱动调试 如果硬件平台是自行设计的, 必须首先对硬件进行调试, 硬件调试成功是进行操作系统 移植和应用程序开发的一个根本前提。 这个过程通常是通过编写一些简单的测试程序直接驱动硬件以验证硬件是否正确, 这些 程序可以基于操作系统进行编程,也可以不使用操作系统,而且后一种方法来得更加简单, 调试也更方便和快捷。 这一类过程通常采用图 4-1 所示的开发模式,在运行于 Windows 的 ADS 1.2 中编写程 序并编译,然后通过 Multi-IcE 下载并调
12、试程序。由于这个过程的编程动作依赖于硬件,采 用这种模式可以充分利用在线仿真器的强大的软件调试功能,从而加快排错过程。 4.2.3 操作系统的选择和移植 在单片机系统中, 由于受硬件资源的限制, 同时应用程序通常比拟简单, 因此, 通常不 使用操作系统, 直接采用前后台程序控制方式设计软件系统。 前台运行一个死循环作为主程 序流程, 在主程序中设置中断, 当中断产生的时候, 运行后台中断效劳程序, 然后返回继续 运行主程序。 这样的开发方式在 ARM 开发中同样适用, 而且对于一些小型应用完全可以采 取这种方式, 但是对于复杂应用, 如复杂的图形用户界面、 网络协议等, 采用前后台控制方 式进
13、行设计的应用程序设计复杂,而且不便于软件模块的划分和软件升级、维护等。 在这种情况下, 操作系统的优势展露无疑。 使用操作系统能够充分发挥 ARM 微处理器 的优势。 目前绝大多数嵌入式操作系统都能够稳定运行在 ARM 微处理器上。 软件开发中必 须首先选择适宜的操作系统。 下面将简单介绍几种常用的嵌入式操作系统以及它们的根本开 发流程。 1、C/OSII 科 C/OSI是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。 其 内核提供任务调度与管理、 时间管理、 任务间同步与通信、 内存管理和中断效劳等功能。 它 可以基于 ROM 运行 ROMable 、可裁减,具有高度移植性
14、。 从应用的角度来看,wC/OSII提供了一个实时性非常好的嵌入式内核, 在工业控制、数 据采集等领域应用广泛。但 C/OSII内核不支持文件系统、网络协议等功能,而且没有提 供统一的硬件驱动程序接口和开发工具链, 在复杂应用中需要考虑内核以外功能的实现难易 程度。 科 C/OSI内核不支持文件系统, 不支持应用程序和驱动程序的加载, 因此,在科 C/OSII 开发中,内核、驱动程序和应用程序都是集中编译, 也就是说,C/OSII编译以后的二进制 代码中即包含内核代码,也包含驱动程序和应用程序的代码。同时 C/OSII没有提供统一 的开发工具链,C/OS-II程序的编译应该采用支持所选处理器的
15、编译器。 对于 ARM 处理器, 可以在 Windows 环境中使用 ADS 1.2、 ADT IDE中编译科 C/OSII ,也可以在 Linux环境中 使用 GNU GCC编译C/OSII。因此可以采用图 4-1 所示的开发模式调试基于 科 C/OSII的 程序。 2、 Linux/uClinux Linux/uClinux 是对于有 MMU 和没有 MMU 的处理器的 Linux 解决方案。 Linux 内核的 完全开放, 使得可以自己设计和开发出真正的硬实时系统; 对于软实时系统, 在 Linux 中也 容易得到实现。 Linux/uClinux 提供强大的文件系统、网络功能、 GUI
16、 等软件模组支持,而且这些功能 都是可以裁减的, 同时它还提供了标准的驱动程序接口和软件开发接口, 便于用户编程和程 序维护。 Linux/uClinux 自身具备一整套工具链 GNU GCC ,包括编译和调试工具,用户可以 自行建立嵌入式系统的开发环境和交叉运行环境, 并且可以跨越在嵌入式系统开发中仿真工 具ICE的障碍。 对于 ARM 处理器, Linux/uClinux 内核、 驱动程序以及应用程序的编译都在 Linux 环境 中使用 GNU GCC 完成。对于内核和驱动程序的调试通常借助于运行于 Linux/uClinux 之前 的 bootloader 来完成, 只有在很少的情况下需
17、要借助在线仿真器完成。 对于应用程序的调试 那么可以完全抛弃在线仿真器,使用 GDB 完成。在本书的第 7 章中介绍了 bootloader 以及 Linux/uClinux 的相关知识。 3、 Windows CE Windows CE 是 Windows 界面在嵌入式处理器中的实现, 它提供了友好的人机交互界面 和强大的二次开发功能。 Windows CE 包括四大根本模块, 它们提供了操作系统的关键特性, 分别是:内核Kernel模块、对象存储Object Store模块、GWES 用户、应用程序和 操作系统之间的图形用户界面模块和通信 Communication 模块。 Windows
18、 CE 拥有完善的软件支持开发工具, Windows CE 的核心移植和驱动开发使用 专门的操作系统定制工具: Windows CE Platform Builder简称 PB。而应用程序的开发那么有 嵌入式开发工具包 Embedded Visual Tools,包括 Embedded Visual C+ 简称 EVC和 Embedded Visual Basic 简称 EVB 等。同时 Embedded Visual Tools 下还可以进行局部驱动程 序的开发。同时在 Windows CE 中还提供了用于 Windows CE 开发的 bootloader: EBOOT。 4、 vxWor
19、ks VxWorks 是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的 实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种 CPU 平台上 提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同 CPU 之间的底层差异。应 用程序员可以将尽可能多的精力放在应用程序本身, 而不必再去关心系统资源的管理。 基于 VxWorks 操作系统的应用程序可以在不同 CPU 平台上轻松移植。 VxWorks 是一种功能强大而且比拟复杂的操作系统,包括了进程管理、存储管理、设 备管理、文件系统管理、网络协议及系统应用等几个局部。 VxWorks 只占用了很小的存储 空间,
20、并可高度裁减,保证了系统能以较高的效率运行。所以,仅仅依靠人工编程调试,很 难发挥它的功能并设计出可靠、高效的嵌入式系统,必须要有与之相适应的开发工具。 TornadoII 就是为开发 VxWorks 应用系统提供的集成开发环境, TornadoII 中包含的工程管理 软件,可以将用户自己的代码与 VxWorks 的核心有效的组合起来,可以按用户的需要裁剪 配置 VxWorks 内核; vxSim 原型仿真器可以让程序员不用目标机的情况下,直接开发系统 原型,作出系统评估;功能强大的 CrossWind 调试器可以提供任务级和系统级的调试模式, 可以进行多目标机的联调; 优化分析工具可以帮助程
21、序员从多种方式真正地观察、 跟踪系统 的运行,排除错误,优化性能。 4.3 ADS 与 Multi-ICE 简介 本节将简单介绍 ARM#发软件 ADS(ARM Developer Suite)和 Multi-ICE 硬件仿真器。 在随后的 8.1节中,将以一个简单的例子描述如何在 ADS1 成开发环境下编写、编译并调试 应用程序。 ARM ADSi:称为 ARM Developer Suite ,是 AR 必司推出的用于 ARMg 序设计、开发和 调试的集成开发工具。现在 ADS的最新版本是 1.2,它取代了早期的 ADS1.1 和 ADS1.0。它 支持 Windows NT4, Wind
22、ows 2000 , Windows 98、 Windows 95 、 Windows XP 和 Windows Me 等操作系统。 ADS由命令行开发工具,ARM!行时库,图形化集成开发环境 (Code Warrior和 AXD), 实用程序和支持软件组成。下面将就每个局部作详细的介绍。 本文以 ADS1.2 为例, 并假设已经将 ADS1.2 安装在 “ C:Program 目录下。 4.3.1 命令行开发工具 ADS包含一系列基于命令行的 ARM译、汇编、链接等工具,它们位于 ADS安装目录的 bin 子目录下( C:Program FilesARMADSv1_2Bin )。它们既可以在
23、命令控制台环境下使 用,同时由于已被嵌入到了 ADS的图形界面中,所以也可以在图形界面下通过参数设置等手 段来使用。 1、ARM C(C+)编译器 ADS包含包含多种 C 编译器, 包括: armcc, tcc , armcpp 和 tcpp。其中 armcc是 ARMC 编译器, armcpp是 ARM C+编译器,tcc是 Thumb C 编译器,tcpp 是 Thumb C+编译器。 2、ARMf匚编器(armasni) armasm 是 ARMF口 Thumb 的汇编器.它对用 ARM 汇编语言和 Thumb 汇编语言写的源代码 进行汇编。 3、ARMB1 接器(armlink ) a
24、rmlink 是 ARM1 接器。该命令既可以将编译得到的一个或多个目标文件和相关的一个 或多个库文件进行链接, 生成一个可执行文件, 也可以将多个目标文件局部链接成一个目标 文件,以供进一步的链接。 ARM接器生成的是 ELF格式的可执行映像文件。 5、符号调试器( armsd) armsd 是 ARM 和 Thumb 的符号调试器。它能够进行源码级的程序调试。用户可以在用 C 或汇编语言写的代码中进行单步调试,设置断点,查看变量值和内存单元的内容。 4.3.2 ARM 运行时库 ADS 提供以下的: 在 ADS 软件安装路径的 lib 目录( C:Program FilesARMADSv1
25、_2lib )下有两个子目 录:armlib 和 cpplib。这两个子目录提供了两种运行时库来支持被编译的 C 和 C+代码,它 们分别是:ANSI C 函数库和 C+函数库。 环境变量 ARMLIB 必须被设置成指向库路径。另外一种指定 ARM C 和 ARM C+ 库路 径的方法是,在链接的时候使用操作选项 -libpath directorydirectory 代表库所在的路径 ,来 指明要装载的库的路径。需要说明的是,ADS安装成功后,ARMLIB被缺省指向到 C:Program FilesARMADSv1_2LIB 目录,因此通常不用进行设置链接器就会自动从 ARMLIB 指定的
26、库路径中找出这两个函数库的路径。 1 、 ANSI C 函数库: armlib ARM C 库包含浮点代数运算库、数学库等各类库函数。与这些库相应的头文件在 C:Program FilesARMADSv1_2include 目录中。这个 C 函数库是由以下几局部组成: 1在 ISO C 标准中定义的函数; 2在 semihosted 环境下 semihosting 是针对 ARM 目标机的一种机制,它能够根据应用 程序代码的输入 /输出请求,与运行有调试功能的主机通讯。这种技术允许主机为通常没有 输入和输出功能的目标硬件提供主机资源 用来实现 C 库函数的与目标相关的函数; 3被 C 和 C+
27、编译器所调用的支持函数。 ARM C 库提供了额外的一些部件支持 C+,并为不同的结构体系和处理器编译代码。 ARM C 库函数是以二进制格式提供的,并禁止修改。如果读者想对库函数创立新的实 现的话, 可以把这个新的函数编译成目标文件, 然后在链接的时候把它包含进来。 这样在链 接的时候,使用的是新的函数实现而不是原来的库函数。 通常情况下,为了创立依赖于目标的应用程序,在 ANSI C 库中只有很少的几个函数需 要实现重建。 2、C+函数库: 这个子目录包含了 Rogue Wave C+库和 C+支持函数库。Rogue Wave C+库和 C+支 持 函 数 库合 在 一起 被 称为 ARM
28、 C+ 库 。 与 这 些 库相 应 的头 文 件安 装 在 C:Program FilesARMADSv1_2include 目录下。这个库是由以下几局部组成的: 1版本为 2.01.01 的 Rogue Wave Standard C+库; 2) C+编译器使用的支持函数; 3) Rogue Wave库所不支持的其他的 C+函数。 Rogue Wave Standard C+函数库的源代码不是免费发布的, 可以从 Rogue Wave Software Inc.,或 ARM 公司通过支付许可证费用来获得源文件。 4.3.3 图形化集成开发环境 Code Warrior 和 AXD 1 、
29、CodeWarrior for ARM CodeWarrior for ARM 是一套完整的集成开发工具,充分发挥了 ARM RISC 的优势 , 使 产品开发人员能够很好的应用尖端的片上系统技术 . 该工具是专为基于 ARM RISC 的处理 器而设计的 , 它可加速并简化嵌入式开发过程中的每一个环节, 使得开发人员只需通过一个 集 成 软 件 开发 环 境就 能 研 制出 ARM 产 品 , 在 整 个 开 发周 期 中 , 开发 人 员 无需 离 开 CodeWarrior 开发环境 , 因此节省了在操做工具上花的时间 ,使得开发人员有更多的精力投入 到代码编写上来, CodeWarri
30、or 集成开发环境 IDE 为管理和开发工程提供了简单多样化的图形用户界面。 用户可以使用 ADS的 CodeWarrior IDE为 ARM 和 Thumb 处理器开发用 C, C+,或 ARM 汇编语言的程序代码。通过提供下面的功能, CodeWarrior IDE 缩短了用户开发工程代码的 周期。 1全面的工程管理功能; 2)子函数的代码导航功能,使得用户迅速找到程序中的子函数。 可以在 CodeWarrior IDE 为 ARM 配置各种命令行工具的参数, 实现对工程代码的编译, 汇编和链接。 CodeWarrior IDE 能够让用户将源代码文件,库文件还有其他相关的文件以及配置设置
31、 等放在一个工程中。 每个工程可以创立和管理生成目标设置的多个配置。 例如, 要编译一个 包含调试信息的生成目标和一个基于 ARM7TDMI 的硬件优化生成目标, 生成目标可以在同 一个工程中共享文件,同时使用各自的设置。 CodeWarrior IDE 为用户提供下面的功能: 源代码编辑器,它集成在 CodeWarrior IDE 的浏览器中,能够根据语法格式,使用不同 的颜色显示代码; 源代码浏览器, 它保存了在源码中定义的所有符号, 能够使用户在源码中快速方便的跳 转; 查找和替换功能, 用户可以在多个文件中, 利用字符串通配符, 进行字符串的搜索和替 换; 文件比拟功能,可以使用户比拟
32、路径中的不同文本文件的内容。 ADS 的 CodeWarrior IDE 是基于 Metrowerks CodeWarrior IDE 4.2 版本的。它经过适当 的裁剪以支持 ADS 工具链。 针对 ARM 的配置面板为用户提供了在 CodeWarrior IDE 集成环境下配置各种 ARM 开 发工具的能力。 以 ARM 为目标平台的工程创立向导, 可以使用户以此为根底, 快速创立 ARM 和 Thumb 工程。 尽管大多数的 ARM 工具链已经集成在 CodeWarrior IDE,但是仍有许多功能在该集成 环境中没有实现,这些功能大多数是和调试相关的,因为 ARM 的调试器没有集成到
33、CodeWarrior IDE 中。 由于 ARM 调试器 (AXD) 没有集成在 CodeWarrior IDE 中,这就意味着,用户不能在 CodeWarrior IDE 中进行断点调试和查看变量。 2 、 ADS 调试器 这里所说的调试器本身是一个软件,用户通过这个软件并配合调试代理( debug agent) 可以对包含有调试信息的, 正在运行的可执行代码进行比方变量的查看, 断点的控制等调试 操作。 调试代理执行调试器发出的命令,如:设置断点,单步运行,从存储器中读数据,把数 据写到存储器等。调试代理既不是被调试的程序,也不是调试器。在 ARM 体系中,它可能 是下面几种情况中的一个
34、: 1)在线实时仿真器 在线实时仿真器通过 JTAG 端口与目标机进行连接,可以实现对 ARM 处理器的在线、 实时调试,且不占用系统资源。 Multi-ICE(Multi-processor in-circuit emulator)是 ARM 公司自己的 JTAG 在线实时仿真 器。它支持全系列的 ARM 核,通过并口与 PC 机连接,数据接口为 8 位。 Multi-ICE 内部采 用 FPGA 实现并口到 JTAG 的协议转换,速度很快,下载速度可在 120kByte/s 左右。 本章下节将要提到的 ADT 1000A 仿真器也是一种在线实时仿真器。 2) ARMulator ARMul
35、ator 即软件模拟器, 它独立于处理器硬件, 是一种有效的源程序检验和测试工具。 但是, 模拟器毕竟只是以一种处理器模拟另一种处理器的运行, 在指令执行时间、 中断响应、 定时器等方面与实际处理器有相对大的差异。 3) Angel Angel 为一个运行于目标机上的监控程序, 它在调试器和目标板之间通过一定的通信方 式, 如: 串口通信, 为用户提供各种调试功能。 这种方式需要占用目标机系统资源, 如串口、 ROM 、 RAM 等。 ADS 中包含有 3 个调试器: 1) AXD(ARM eXtended Debugger) : ARM 扩展调试器; 2) armsd(ARM Symboli
36、c Debugger) : ARM 符号调试器; 3) 与老版本兼容的 Windows 或 Unix 下的 ARM 调试工具, ADW/ADU(Application Debugger Windows/Unix) 。 4.3.4 实用程序 此外, ADS 还提供了许多实用工具,下面简单的介绍开发中经常用到的程序: 1 、 fromELF 这是 ARM 映像文件转换工具。该命令将 ELF 格式的文件作为输入文件,将该格式转 换为各种输出格式的文件,包括 plain binary(BIN 格式映像文件 ), Motorola 32-bit S-record format(Motorola 32 位
37、 S 格式映像文件 ), Intel Hex 32 format(Intel 32 位格式映像文件 ),和 Verilog-like hex format(V erilog 16 进制文件 )。 FromELF 命令也能够为输入映像文件产生文本 信息,例如代码和数据长度。 2 、 armar ARM 库函数生成器将一系列 ELF 格式的目标文件以库函数的形式集合在一起, 用户可 以把一个库传递给一个链接器以代替几个 ELF 文件。 3 、 Flash downloader 用于把二进制映像文件下载到 ARM 开发板上的 Flash 存储器的工具 4 .3.5 支持的软件 ADS 为用户提供下面
38、的软件, 使用户可以在软件仿真的环境下或者在基于 ARM 的硬件 环境调试用户应用程序。 ARMulator 这是一个 ARM 指令集仿真器, 集成在 ARM 的调试器 AXD 中, 它提供对 ARM 处理器 的指令集的仿真,为 ARM 和 Thumb 提供精确的模拟。用户可以在硬件尚未做好的情况下, 开发程序代码。 4.4 ADT IDE 简介 4.4.1 ADT IDE 集成开发环境 1 ADT IDE 简介 ADTIDE 是一套应用于嵌入式软件开发的新一代集成开发环境,它提供高效、清晰、可 视化的嵌入式软件开发平台, 包括一整套完备的面向嵌入式系统的开发和调试工具: 编辑器、 编译器、链
39、接器、工程管理器以及调试器等。 ADT IDE 运行于 Windows NT、 95、 98、 2000 及 XP,采用类 Visual Stdio 界面风格,其界面如图 4-2 所示。 南裁板窗口 X 侬 |gjfirh - 1A-IT77 图4-2 ADT IDE集成开发环境软件界面图 2 ADT IDE主要特性 中文、英文版本支持 操作系统支持 支持 Vxworks,uCLinux,Linux,Nucleus 等操作系统的开发和调试。 可视化的源码编辑和工程管理功能: 界面友好,使用方便:类似 MS Visual Studio 的用户界面,支持打印功能,支 持文件内查找功能和 Find
40、in Files 功能。 工程管理器:ADTIDE提供图形化的工程管理工具,以 project 为单位为用户提 供给用源程序的文件组织和管理,管理用户的应用程序,编译链接选项以及调试参数等。 源码编辑器:支持标准的文本编辑功能,支持 C 语言、汇编语言语法高亮显示。 辅助编辑工具:提供多剪贴板工具、代码模板工具、头文件和源文件切换工具、 注释工具、符号配对书写工具等多种辅助编辑工具。 交叉编译功能: 支持开发语言: ANSI C; Embedded C+;汇编语言。 编译工具:使用著名优秀自由软件 GNU 勺 GCC!叉编译工具,并经过优化和严格 测试,支持 C 语言、汇编语言等。 编译参数设
41、置:完全图形界面方式的编译参数设置, 提供可视化的设置功能。 支 持工程级/文件目录级/文件级编译参数设置。 强大的源代码级调试功能: 图形和命令行两种调试方式。 断点功能:支持软件断点和硬件断点,实现断点设置、断点屏蔽、断点取消、断 S fi ih - 工具栏 惊题幅 ml - 11 iffhr 4 (; Vtl *! JBEJ 二番 口 dE fliflath 七1ET01ET0 riiihh -ic m f .Ail.MbK 制 一 工作区褊口 数据规整窗口 V*a*r typ -KE*IS 状态栏 菜单栏 DI 1LJ 方苗&35TSHT 三虱130cl 址配MlNid lb
42、30 由(昵Ml日MY I 0 20 反汇归窗口 rj,* ME三| rj. 小、甘3】口 Eurrfrnt bd* i 3UC) BKQQcccaaa 存放霹窗口 LLU 11 Vuluc iffiDiCad-iCKi; 11 Cad 酎立曲 inel iiF(pCadAcnd 4 U巨Erasing) En-fIfi. eCadI: 士. Sxd 二 IKS. wjfiir ri. r3. mil Jdj -filiJ 0 朗 aE5M4T SMM1SMIS QKgm斗听的 aKDSEiQE2B 9K549阜4磐3 9X2S92MK SXBCMBIFC 郎 MQCME, exBcyoMEy
43、j jMinwingOQi*r-: c*l_| I n$r ,t iM SBl & U-EUgQ01M : c l m Elg 留卢:C.tl j * jj gQ|g9MD gon gm i UQI90WM 皿0辆3 刖M网i 皿S喇5 08999B1F 回 肝勺*|3; 口 T3t! MJ -J 输出售口 号Mapace L J.H = 0L U J J 4 虢上存放器窗口 一|门| *1 ystea Cf1iELiral lnystea Cf1iELiral ln 一 I-nhbLi UrL MUiJ VeiUrL MUiJ Vei OvOCOOOOfe I而 B fluh. 51: umm日. Rie R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 检验方法在统计学中应用2024年考试试题及答案
- 新旧车型维修的区别与心得试题及答案
- 2024年小自考视觉传播设计的情感设计研究与试题及答案
- 古代文学哲学思想试题及答案
- 中初级电焊工试题及答案
- 旅游地点标记点
- 2024年宠物营养师考试中的科技应用探讨及试题答案
- 房地产 -住宅项目规范研究报告-技术标准和市场影响 202503
- 不同车型维修技巧考题及答案
- 统计学备考策略试题及答案解密
- 24秋国家开放大学《儿童发展问题的咨询与辅导》周测验参考答案
- 2025届江苏省苏州市重点中学高三第二次模拟考试英语试卷含解析
- DB65-T 4783-2024 冰川资源遥感调查技术规范
- 2024年江苏省徐州市中考一模物理试题(含答案)
- 6古对今 公开课一等奖创新教学设计
- 2024-2030年墨西哥企业A2P短信市场前景分析
- 中国痔病诊疗指南(2020版)
- 教学课件:苯甲酸重结晶
- (2024年)医疗法律法规知识培训课件
- 磁盘采购合同
- 两位数乘两位数进位竖式计算题
评论
0/150
提交评论