ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介).docx
《ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介).docx》由会员分享,可在线阅读,更多相关《ARM嵌入式开发流程和开发工具(含ADS与Multi ICE简介).docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 ARM嵌入式开发流程和开发工具嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处
2、理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。4.1AARM嵌嵌入式开开发模式式嵌入式系系统与一一般PCC机在开开发的硬硬件环境境上的最最大差异异就是它它分成两两个平台台,一个个是宿主主机(HHostt),一一个是目目标机(Tarrgett)。这这里的宿宿主机通通常就是是PC机机,首先先利用宿宿主机上上丰富的的资源、良好的的开发环环境编写写和编译译能够在在目标机机上运行行的程序序,这个个过程叫叫做交叉叉编译,然后通通过串口口、并口口、网络络或其它它接口通通过一定定的传输输手段将将交叉编编译生成成的目标标代码传传输并装装载到目目标机上上。图44-1中中就是采采用并
3、口口在线仿仿真器与与目标机机和宿主主机进行行连接,从而实实现目标标代码的的运行和和调试。宿主机机的工作作环境可可以是WWinddowss 988,Wiindoows XP,Winndowws 220000以及RRedHHat等等操作系系统,具具体选择择何种操操作系统统是由所所采用的的仿真器器和所开开发的软软件决定定,在AARM的的开发过过程中对对于不同同的软件件开发阶阶段所采采用的调调试手段段是不同同的,宿宿主机的的操作系系统需求求也就不不一样。详细的的描述请请参考本本节后面面的内容容。图4-11所示为为一个典典型的目目标机/宿主机机开发模模式。宿宿主机运运行ADDS 11.2集集成开发发环境
4、,并通过过在线仿仿真器(Mullti-ICEE)对目目标处理理器(SSamssungg公司的的基于AARM9920TT核的SS3C224100处理器器)ARRM处理理器进行行调试。宿主机机和在线线仿真器器通过并并口连接接,在线线仿真器器同时连连接到目目标机的的JTAAG接口口。宿主机ADS 1.2在线仿真器Multi-ICE嵌入式系统S3C2410(ARM920T)并口JTAG接口图4-1 目标机/宿主机开发模式4.2AARM嵌嵌入式开开发流程程和开发发工具ARM嵌嵌入式系系统的开开发流程程非常灵灵活而复复杂,尤尤其是软软件开发发过程牵牵涉到许许多不同同的开发发过程,而且每每个开发发过程所所使
5、用的的开发工工具均不不尽相同同,因此此,在深深入学习习ARMM软件开开发之前前,有必必要对AARM嵌嵌入式开开发流程程和所使使用的开开发工具具有一个个初步的的了解,本节就就是要达达到这样样的目的的,至于于各个开开发过程程和开发发工具的的详细介介绍请参参考后续续有关章章节。4.2.1 选择硬硬件平台台1、处理理器的选选择嵌入式系系统的核核心部件件是各种种类型的的嵌入式式处理器器。据不不完全统统计,目目前全世世界嵌入入式处理理器的品品种总量量已经超超过10000多多种,流流行体系系结构有有30几几个系列列。但与与全球PPC市场场不同的的是,没没有一种种微处理理器和微微处理器器公司可可以主导导嵌入式
6、式系统,仅以332位的的CPUU而言,就有1100种种以上嵌嵌入式微微处理器器。由于于嵌入式式系统设设计的差差异性极极大,因因此选择择是多样样化的。ARM是是近年来来在嵌入入式系统统有影响响力的微微处理器器制造商商,ARRM的设设计非常常适用于于小的电电源供电电系统。Appple在在Newwtonn手持计计算机中中使用AARM,另外有有几款数数字无线线电话也也在使用用ARMM。设计者在在选择处处理器时时要考虑虑的主要要因素有有:1)处理理性能一个处理理器的性性能取决决于多个个方面的的因素,如时钟钟频率,内部寄寄存器的的大小,指令是是否对等等处理所所有的寄寄存器等等。对于于许多需需用处理理器的嵌
7、嵌入式系系统设计计来说,目标不不是在于于挑选速速度最快快的处理理器,而而是在于于选取能能够完成成设计目目标的处处理器。比如:对对于ARRM处理理器,如如果需要要使用软软解压实实现视频频,应该该尽量选选用ARRM9、Xsccalee等高档档处理器器。而对对于一般般工业控控制,则则可以考考虑ARRM7芯芯片是否否满足要要求。2)技术术指标当前,许许多嵌入入式处理理器都集集成了外外围设备备的功能能,减少少了芯片片的数量量,降低低了整个个系统的的开发费费用和技技术难度度。开发发人员首首先考虑虑的是,系统所所要求的的一些硬硬件能否否方便地地连接到到处理器器上。其其次是考考虑该处处理器的的一些支支持芯片片
8、,如DDMA控控制器,内存管管理器,中断控控制器,串行设设备、时时钟等的的配套。各个厂家家市场的的ARMM芯片都都根据不不同的设设计目标标扩展了了丰富的的接口,在选择择处理器器时应该该考虑选选择能够够支持尽尽可能多多的功能能,尤其其是相对对设计复复杂的功功能。3)功耗耗嵌入式微微处理器器最大并并且增长长最快的的市场是是手持设设备、电电子记事事本、PPDA、手机、GPSS导航器器、智能能家电等等消费类类电子产产品。这这些产品品对微处处理器的的基本要要求是:高性能能、低功功耗。4)操作作系统和和软件支支持工具具的选择择操作系统统的移植植和开发发是嵌入入式设计计中的一一个关键键阶段。处理器器和操作作
9、系统的的选择在在一定程程度上互互相影响响,同时时又将影影响其软软件支持持工具,因此,处理器器的选择择的同时时必须充充分考虑虑操作系系统的因因素。在ARMM系统中中,如果果用户希希望使用用Winndowws CCE、LLinuux等操操作系统统,就需需要选择择ARMM7200T以上上带有MMMU(Memmoryy Maanaggemeent Uniit)功功能的AARM芯芯片,AARM7720TT、ARRM9220T、ARMM9222T、AARM9946TT、Sttronng-AARM都都带有MMMU功功能。而而ARMM7TDDMI则则没有MMMU,不支持持Winndowws CCE和LLinu
10、ux,但但目前有有uCLLinuux以及及uC/OS-II等等不需要要MMUU支持的的操作系系统可运运行于AARM77TDMMI硬件件平台之之上。事事实上,uCLLinuux已经经成功移移植到多多种不带带MMUU的微处处理器平平台上,并在稳稳定性和和其他方方面都有有上佳表表现。另外,如如果决定定采用LLinuux、WWinddowss CEE、vxxWorrks等等操作系系统时,在选择择处理器器时应该该尽量选选择该操操作系统统已经支支持的处处理器,这样可可以大大大加快开开发进度度,降低低难度。选择不同同的操作作系统,其软件件开发过过程和调调试手段段各不相相同,你你的选择择方案是是否能够够提供各
11、各个开发发阶段(包括bboottloaaderr开发、操作系系统移植植、驱动动开发和和应用开开发)所所需的软软件支持持工具也也是一个个必须考考虑的因因素。5)是否否内置调调试工具具处理器如如果内置置调试工工具可以以大大缩缩小调试试周期,降低调调试的难难度。AARM提提供JTTAG调调试接口口,而且且有众多多的第三三方厂家家推出各各种调试试工具。2、硬件件平台的的选择选择好目目标微处处理器后后还需要要准备硬硬件平台台。目前前国内外外有许多多针对各各种ARRM微处处理器的的开发板板,这些些开发板板对所支支持的AARM微微处理器器做了详详细的硬硬件评估估和软件件支持。在自己己动手设设计硬件件平台之之
12、前,购购买一块块这种开开发板作作为测试试平台,进行学学习和参参考,这这样可以以大大加加快开发发进度。对于一一些应用用,也可可以直接接在这些些开发板板上进行行,这样样可以省省略硬件件设计的的阶段。如果您不不打算购购买开发发板作为为测试平平台,您您就需要要自行设设计硬件件平台。在本书书的第55章中,以目前前国内AARM99的主流流芯片:Sammsunng公司司的S33C24410为为例,详详细介绍绍了该处处理器的的硬件架架构和硬硬件接口口扩展方方法。4.2.2 硬件驱驱动调试试如果硬件件平台是是自行设设计的,必须首首先对硬硬件进行行调试,硬件调调试成功功是进行行操作系系统移植植和应用用程序开开发的
13、一一个基本本前提。这个过程程通常是是通过编编写一些些简单的的测试程程序直接接驱动硬硬件以验验证硬件件是否正正确,这这些程序序可以基基于操作作系统进进行编程程,也可可以不使使用操作作系统,而且后后一种方方法来得得更加简简单,调调试也更更方便和和快捷。这一类过过程通常常采用图图4-11所示的的开发模模式,在在运行于于Winndowws的AADS 1.22中编写写程序并并编译,然后通通过Muultii-ICCE下载载并调试试程序。由于这这个过程程的编程程动作依依赖于硬硬件,采采用这种种模式可可以充分分利用在在线仿真真器的强强大的软软件调试试功能,从而加加快排错错过程。4.2.3 操作系系统的选选择和
14、移移植在单片机机系统中中,由于于受硬件件资源的的限制,同时应应用程序序通常比比较简单单,因此此,通常常不使用用操作系系统,直直接采用用前后台台程序控控制方式式设计软软件系统统。前台台运行一一个死循循环作为为主程序序流程,在主程程序中设设置中断断,当中中断产生生的时候候,运行行后台中中断服务务程序,然后返返回继续续运行主主程序。这样的的开发方方式在AARM开开发中同同样适用用,而且且对于一一些小型型应用完完全可以以采取这这种方式式,但是是对于复复杂应用用,如复复杂的图图形用户户界面、网络协协议等,采用前前后台控控制方式式进行设设计的应应用程序序设计复复杂,而而且不便便于软件件模块的的划分和和软件
15、升升级、维维护等。在这种情情况下,操作系系统的优优势展露露无疑。使用操操作系统统能够充充分发挥挥ARMM微处理理器的优优势。目目前绝大大多数嵌嵌入式操操作系统统都能够够稳定运运行在AARM微微处理器器上。软软件开发发中必须须首先选选择合适适的操作作系统。下面将将简单介介绍几种种常用的的嵌入式式操作系系统以及及它们的的基本开开发流程程。1、CC/OSS-IIIC/OOS-III是一一种免费费公开源源代码、结构小小巧、具具有可剥剥夺实时时内核的的实时操操作系统统。其内内核提供供任务调调度与管管理、时时间管理理、任务务间同步步与通信信、内存存管理和和中断服服务等功功能。它它可以基基于ROOM运行行(
16、ROOMabble)、可裁裁减,具具有高度度移植性性。从应用的的角度来来看,C/OOS-III提供供了一个个实时性性非常好好的嵌入入式内核核,在工工业控制制、数据据采集等等领域应应用广泛泛。但C/OOS-III内核核不支持持文件系系统、网网络协议议等功能能,而且且没有提提供统一一的硬件件驱动程程序接口口和开发发工具链链,在复复杂应用用中需要要考虑内内核以外外功能的的实现难难易程度度。C/OOS-III内核核不支持持文件系系统,不不支持应应用程序序和驱动动程序的的加载,因此,在CC/OSS-III开发中中,内核核、驱动动程序和和应用程程序都是是集中编编译,也也就是说说,CC/OSS-III编译以
17、以后的二二进制代代码中即即包含内内核代码码,也包包含驱动动程序和和应用程程序的代代码。同同时CC/OSS-III没有提提供统一一的开发发工具链链,CC/OSS-III程序的的编译应应该采用用支持所所选处理理器的编编译器。对于AARM处处理器,可以在在Winndowws环境境中使用用ADSS 1.2、AADT IDEE中编译译C/OS-II,也可以以在Liinuxx环境中中使用GGNU GCCC编译C/OOS-III。因因此可以以采用图图4-11所示的的开发模模式调试试基于C/OOS-III的程程序。2、Liinuxx/uCClinnuxLinuux/uuCliinuxx是对于于有MMMU和没没
18、有MMMU的处处理器的的Linnux解解决方案案。Liinuxx内核的的完全开开放,使使得可以以自己设设计和开开发出真真正的硬硬实时系系统;对对于软实实时系统统,在LLinuux中也也容易得得到实现现。Linuux/uuCliinuxx提供强强大的文文件系统统、网络络功能、GUII等软件件模组支支持,而而且这些些功能都都是可以以裁减的的,同时时它还提提供了标标准的驱驱动程序序接口和和软件开开发接口口,便于于用户编编程和程程序维护护。Linuux/uuCliinuxx自身具具备一整整套工具具链(GGNU GCCC),包包括编译译和调试试工具,用户可可以自行行建立嵌嵌入式系系统的开开发环境境和交叉
19、叉运行环环境,并并且可以以跨越在在嵌入式式系统开开发中仿仿真工具具(ICCE)的的障碍。对于ARRM处理理器,LLinuux/uuCliinuxx内核、驱动程程序以及及应用程程序的编编译都在在Linnux环环境中使使用GNNU GGCC完完成。对对于内核核和驱动动程序的的调试通通常借助助于运行行于Liinuxx/uCClinnux之之前的bboottloaaderr来完成成,只有有在很少少的情况况下需要要借助在在线仿真真器完成成。对于于应用程程序的调调试则可可以完全全抛弃在在线仿真真器,使使用GDDB完成成。在本本书的第第7章中中介绍了了boootlooadeer以及及Linnux/uClli
20、nuux的相相关知识识。3、Wiindoows CEWinddowss CEE是Wiindoows界界面在嵌嵌入式处处理器中中的实现现,它提提供了友友好的人人机交互互界面和和强大的的二次开开发功能能。Wiindoows CE包包括四大大基本模模块,它它们提供供了操作作系统的的关键特特性,分分别是:内核(Kerrnell)模块块、对象象存储(Objjectt Sttoree)模块块、GWWES(用户、应用程程序和操操作系统统之间的的图形用用户界面面)模块块和通信信(Coommuuniccatiion)模块。Winddowss CEE拥有完完善的软软件支持持开发工工具,WWinddowss CEE
21、的核心心移植和和驱动开开发使用用专门的的操作系系统定制制工具:Winndowws CCE PPlattforrm BBuillderr(简称称PB)。而应应用程序序的开发发则有嵌嵌入式开开发工具具包Emmbedddedd Viisuaal TToolls,包包括Emmbedddedd Viisuaal CC+(简称EEVC)和Emmbedddedd Viisuaal BBasiic(简简称EVVB)等等。同时时Embbeddded Vissuall Tooolss下还可可以进行行部分驱驱动程序序的开发发。同时时在Wiindoows CE中中还提供供了用于于Winndowws CCE开发发的bo
22、ootlloadder:EBOOOT。4、vxxWorrksVxWoorkss是专门门为实时时嵌入式式系统设设计开发发的操作作系统内内核,为为程序员员提供了了高效的的实时多多任务调调度、中中断管理理,实时时的系统统资源以以及实时时的任务务间通信信。在各各种CPPU平台台上提供供了统一一的编程程接口和和一致的的运行特特性,尽尽可能的的屏蔽了了不同CCPU之之间的底底层差异异。应用用程序员员可以将将尽可能能多的精精力放在在应用程程序本身身,而不不必再去去关心系系统资源源的管理理。基于于VxWWorkks操作作系统的的应用程程序可以以在不同同CPUU平台上上轻松移移植。VxWoorkss是一种种功能
23、强强大而且且比较复复杂的操操作系统统,包括括了进程程管理、存储管管理、设设备管理理、文件件系统管管理、网网络协议议及系统统应用等等几个部部分。VVxWoorkss只占用用了很小小的存储储空间,并可高高度裁减减,保证证了系统统能以较较高的效效率运行行。所以以,仅仅仅依靠人人工编程程调试,很难发发挥它的的功能并并设计出出可靠、高效的的嵌入式式系统,必须要要有与之之相适应应的开发发工具。TorrnaddoIII就是为为开发VVxWoorkss应用系系统提供供的集成成开发环环境,TTornnadooII中中包含的的工程管管理软件件,可以以将用户户自己的的代码与与VxWWorkks的核核心有效效的组合合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM嵌入式开发流程和开发工具含ADS与Multi ICE简介 ARM 嵌入式 开发 流程 工具 ADS Multi ICE 简介
限制150内