2022年ARM嵌入式开发流程和开发工具.doc
《2022年ARM嵌入式开发流程和开发工具.doc》由会员分享,可在线阅读,更多相关《2022年ARM嵌入式开发流程和开发工具.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 ARM嵌入式开发流程和开发工具嵌入式系统的设计能够分成三个阶段:分析、设计和实现。分析阶段是确定要处理的咨询题及需要完成的目的,也常常被称为“需求阶段”;设计阶段主要是处理如何在给定的约束条件下完成用户的要求;实现阶段主要是处理如何在所选择的硬件和软件的根底上进展整个软、硬件系统的协调实现。在分析阶段完毕后,通常开发者面临的一个棘手的咨询题确实是硬件平台和软件平台的选择,由于它的好坏直截了当妨碍着实现阶段的任务完成。通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是特别
2、关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。4.1 ARM嵌入式开发方式嵌入式系统与一般PC机在开发的硬件环境上的最大差异确实是它分成两个平台,一个是宿主机(Host),一个是目的机(Target)。这里的宿主机通常确实是PC机,首先利用宿主机上丰富的资源、良好的开发环境编写和编译能够在目的机上运转的程序,这个过程叫做穿插编译,然后通过串口、并口、网络或其它接口通过一定的传输手段将穿插编译生成的目的代码传输并装载到目的机上。图4-1中确实是采纳并口在线仿真器与目的机和宿主机进展连接,从而实现目的代码的运转和调试。宿主机的工作环境能够是Windows
3、98,Windows XP,Windows 2000以及RedHat等操作系统,详细选择何种操作系统是由所采纳的仿真器和所开发的软件决定,在ARM的开发过程中关于不同的软件开发阶段所采纳的调试手段是不同的,宿主机的操作系统需求也就不一样。详细的描绘请参考本节后面的内容。图4-1所示为一个典型的目的机/宿主机开发方式。宿主机运转ADS 1.2集成开发环境,并通过在线仿真器(Multi-ICE)对目的处理器(Samsung公司的基于ARM920T核的S3C2410处理器)ARM处理器进展调试。宿主机和在线仿真器通过并口连接,在线仿真器同时连接到目的机的JTAG接口。宿主机ADS 1.2在线仿真器M
4、ulti-ICE嵌入式系统S3C2410(ARM920T)并口JTAG接口图4-1 目的机/宿主机开发方式4.2 ARM嵌入式开发流程和开发工具ARM嵌入式系统的开发流程特别灵敏而复杂,尤其是软件开发过程牵涉到许多不同的开发过程,而且每个开发过程所使用的开发工具均不尽一样,因而,在深化学习ARM软件开发之前,有必要对ARM嵌入式开发流程和所使用的开发工具有一个初步的理解,本节确实是要到达如此的目的,至于各个开发过程和开发工具的详细介绍请参考后续有关章节。4.2.1 选择硬件平台1、处理器的选择嵌入式系统的核心部件是各品种型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1
5、000多种,流行体系构造有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司能够主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因而选择是多样化的。ARM是近年来在嵌入式系统有妨碍力的微处理器制造商,ARM的设计特别适用于小的电源供电系统。Apple在Newton手持计算机中使用ARM,另外有几款数字无线也在使用ARM。设计者在选择处理器时要考虑的主要要素有:1)处理功能一个处理器的功能取决于多个方面的要素,如时钟频率,内部存放器的大小,指令是否对等处理所有的存放器等。关于许多需用途理器的嵌入式系统设计来说,目的不是在
6、于选择速度最快的处理器,而是在于选取能够完成设计目的的处理器。比方:关于ARM处理器,假如需要使用软解压实现视频,应该尽量选用ARM9、Xscale等高档处理器。而关于一般工业操纵,则能够考虑ARM7芯片是否满足要求。2)技术指标当前,许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个系统的开发费用和技术难度。开发人员首先考虑的是,系统所要求的一些硬件能否方便地连接四处理器上。其次是考虑该处理器的一些支持芯片,如DMA操纵器,内存治理器,中断操纵器,串行设备、时钟等的配套。各个厂家市场的ARM芯片都依照不同的设计目的扩展了丰富的接口,在选择处理器时应该考虑选择能够支持尽可能多
7、的功能,尤其是相对设计复杂的功能。3)功耗嵌入式微处理器最大同时增长最快的市场是手持设备、电子记事本、PDA、GPS导航器、智能家电等消费类电子产品。这些产品对微处理器的根本要求是:高功能、低功耗。4)操作系统和软件支持工具的选择操作系统的移植和开发是嵌入式设计中的一个关键阶段。处理器和操作系统的选择在一定程度上互相妨碍,同时又将妨碍其软件支持工具,因而,处理器的选择的同时必须充分考虑操作系统的要素。在ARM系统中,假如用户希望使用Windows CE、Linux等操作系统,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、
8、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和Linux,但目前有uCLinux以及uC/OS-II等不需要MMU支持的操作系统可运转于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。另外,假如断定采纳Linux、Windows CE、Works等操作系统时,在选择处理器时应该尽量选择该操作系统已经支持的处理器,如此能够大大加快开发进度,降低难度。选择不同的操作系统,其软件开发过程和调试手段各不一样,你的选择方案
9、是否能够提供各个开发阶段(包括bootloader开发、操作系统移植、驱动开发和应用开发)所需的软件支持工具也是一个必须考虑的要素。5)是否内置调试工具处理器假如内置调试工具能够大大缩小调试周期,降低调试的难度。ARM提供JTAG调试接口,而且有众多的第三方厂家推出各种调试工具。2、硬件平台的选择选择好目的微处理器后还需要预备硬件平台。目前国内外有许多针对各种ARM微处理器的开发板,这些开发板对所支持的ARM微处理器做了详细的硬件评估和软件支持。在本人动手设计硬件平台之前,购置一块这种开发板作为测试平台,进展学习和参考,如此能够大大加快开发进度。关于一些应用,也能够直截了当在这些开发板上进展,
10、如此能够省略硬件设计的阶段。假如您不计划购置开发板作为测试平台,您就需要自行设计硬件平台。在本书的第5章中,以目前国内ARM9的主流芯片:Samsung公司的S3C2410为例,详细介绍了该处理器的硬件架构和硬件接口扩展方法。4.2.2 硬件驱动调试假如硬件平台是自行设计的,必须首先对硬件进展调试,硬件调试成功是进展操作系统移植和应用程序开发的一个根本前提。这个过程通常是通过编写一些简单的测试程序直截了当驱动硬件以验证硬件是否正确,这些程序能够基于操作系统进展编程,也能够不使用操作系统,而且后一种方法来得更加简单,调试也更方便和快捷。这一类过程通常采纳图4-1所示的开发方式,在运转于Windo
11、ws的ADS 1.2中编写程序并编译,然后通过Multi-ICE下载并调试程序。由于这个过程的编程动作依赖于硬件,采纳这种方式能够充分利用在线仿真器的强大的软件调试功能,从而加快排错过程。4.2.3 操作系统的选择和移植在单片机系统中,由于受硬件资源的限制,同时应用程序通常比拟简单,因而,通常不使用操作系统,直截了当采纳前后台程序操纵方式设计软件系统。前台运转一个死循环作为主程序流程,在主程序中设置中断,当中断产生的时候,运转后台中断效劳程序,然后返回接着运转主程序。如此的开发方式在ARM开发中同样适用,而且关于一些小型应用完全能够采取这种方式,但是关于复杂应用,如复杂的图形用户界面、网络协议
12、等,采纳前后台操纵方式进展设计的应用程序设计复杂,而且不便于软件模块的划分和软件晋级、维护等。在这种情况下,操作系统的优势展露无疑。使用操作系统能够充分发挥ARM微处理器的优势。目前绝大多数嵌入式操作系统都能够稳定运转在ARM微处理器上。软件开发中必须首先选择适宜的操作系统。下面将简单介绍几种常用的嵌入式操作系统以及它们的根本开发流程。1、C/OS-IIC/OS-II是一种免费公开源代码、构造小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与治理、时间治理、任务间同步与通讯、内存治理和中断效劳等功能。它能够基于ROM运转(ROMable)、可裁减,具有高度移植性。从应用的角度来看,C
13、/OS-II提供了一个实时性特别好的嵌入式内核,在工业操纵、数据采集等领域应用广泛。但C/OS-II内核不支持文件系统、网络协议等功能,而且没有提供统一的硬件驱动程序接口和开发工具链,在复杂应用中需要考虑内核以外功能的实现难易程度。C/OS-II内核不支持文件系统,不支持应用程序和驱动程序的加载,因而,在C/OS-II开发中,内核、驱动程序和应用程序都是集中编译,也确实是说,C/OS-II编译以后的二进制代码中即包含内核代码,也包含驱动程序和应用程序的代码。同时C/OS-II没有提供统一的开发工具链,C/OS-II程序的编译应该采纳支持所选处理器的编译器。关于ARM处理器,能够在Windows
14、环境中使用ADS 1.2、ADT IDE中编译C/OS-II,也能够在Linux环境中使用GNU GCC编译C/OS-II。因而能够采纳图4-1所示的开发方式调试基于C/OS-II的程序。2、Linux/uClinuxLinux/uClinux是关于有MMU和没有MMU的处理器的Linux处理方案。Linux内核的完全开放,使得能够本人设计和开发出真正的硬实时系统;关于软实时系统,在Linux中也容易得到实现。Linux/uClinux提供强大的文件系统、网络功能、GUI等软件模组支持,而且这些功能都是能够裁减的,同时它还提供了标准的驱动程序接口和软件开发接口,便于用户编程和程序维护。Linu
15、x/uClinux本身具备一整套工具链(GNU GCC),包括编译和调试工具,用户能够自行建立嵌入式系统的开发环境和穿插运转环境,同时能够跨越在嵌入式系统开发中仿真工具(ICE)的障碍。关于ARM处理器,Linux/uClinux内核、驱动程序以及应用程序的编译都在Linux环境中使用GNU GCC完成。关于内核和驱动程序的调试通常借助于运转于Linux/uClinux之前的bootloader来完成,只有在特别少的情况下需要借助在线仿真器完成。关于应用程序的调试则能够完全抛弃在线仿真器,使用GDB完成。在本书的第7章中介绍了bootloader以及Linux/uClinux的相关知识。3、W
16、indows CEWindows CE是Windows界面在嵌入式处理器中的实现,它提供了友好的人机交互界面和强大的二次开发功能。Windows CE包括四大根本模块,它们提供了操作系统的关键特性,分别是:内核(Kernel)模块、对象存储(Object Store)模块、GWES(用户、应用程序和操作系统之间的图形用户界面)模块和通讯(Communication)模块。Windows CE拥有完善的软件支持开发工具,Windows CE的核心移植和驱动开发使用专门的操作系统定制工具:Windows CE Platform Builder(简称PB)。而应用程序的开发则有嵌入式开发工具包Emb
17、edded Visual Tools,包括Embedded Visual C+(简称EVC)和Embedded Visual Basic(简称EVB)等。同时Embedded Visual Tools下还能够进展部分驱动程序的开发。同时在Windows CE中还提供了用于Windows CE开发的bootloader:EBOOT。4、WorksWorks是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的实时多任务调度、中断治理,实时的系统资源以及实时的任务间通讯。在各种CPU平台上提供了统一的编程接口和一致的运转特性,尽可能的屏蔽了不同CPU之间的底层差异。应用程序员能够将尽可
18、能多的精力放在应用程序本身,而不必再去关怀系统资源的治理。基于Works操作系统的应用程序能够在不同CPU平台上轻松移植。Works是一种功能强大而且比拟复杂的操作系统,包括了进程治理、存储治理、设备治理、文件系统治理、网络协议及系统应用等几个部分。Works只占用了特别小的存储空间,并可高度裁减,保证了系统能以较高的效率运转。因而,仅仅依托人工编程调试,特别难发挥它的功能并设计出可靠、高效的嵌入式系统,必需要有与之相习惯的开发工具。TornadoII确实是为开发Works应用系统提供的集成开发环境,TornadoII中包含的工程治理软件,能够将用户本人的代码与Works的核心有效的组合起来,
19、能够按用户的需要裁剪配置Works内核;Sim原型仿真器能够让程序员不用目的机的情况下,直截了当开发系统原型,作出系统评估;功能强大的CrossWind调试器能够提供任务级和系统级的调试方式,能够进展多目的机的联调;优化分析工具能够协助程序员从多种方式真正地观察、跟踪系统的运转,排除错误,优化功能。4.3 ADS与Multi-ICE简介本节将简单介绍ARM开发软件ADS(ARM Developer Suite)和Multi-ICE硬件仿真器。在随后的8.1节中,将以一个简单的例子描绘如何在ADS集成开发环境下编写、编译并调试应用程序。ARM ADS全称为ARM Developer Suite,
20、是ARM公司推出的用于ARM程序设计、开发和调试的集成开发工具。如今ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。它支持Windows NT4,Windows 2000,Windows 98、Windows 95、Windows XP和Windows Me等操作系统。ADS由命令行开发工具,ARM运转时库,图形化集成开发环境(Code Warrior和AXD),有用程序和支持软件组成。下面将就每个部分作详细的介绍。本文以ADS 1.2为例,并假设已经将ADS 1.2安装在“C:Program FilesARMADSv1_2”目录下。4.3.1 命令行开发工具ADS包含一系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 ARM 嵌入式 开发 流程 工具
限制150内