




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
当你开发一个新的硬件平台并且它支持输入输出设备1.1 ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个婆司的名字,也能够认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991暮年ARM公司建立于英邦剑桥,主要出卖芯片设计技术的受权。目前,采用ARM技术知识产权(IP)核的微处理器,即吾们通常所说的ARM微处理器,已遍布工业控制、消费类电子产品、通讯系统、网络系统、无线系统等各种产品市场,基于ARM技术的微处理器应用约盘踞了32位RISC微处理器75%以上的市场份额,ARM技术在逐步渗透到咱们生涯的方方面面。ARM公司是专门从事基于RISC技术芯片设计开发的私司,作为学问产权供给商,自身不间接从事芯片师产,靠让渡设计允许由单干雄司消费各具特点的芯片,世界各泰半导体出产商从ARM公司购置其设计的ARM微处理器核,凭据各自不同的应用领域,添入恰当的外围电路,从而造成大家的ARM微处理器芯片入入市场。目前,全世界有几十野大的半导体公司都使用ARM母司的受权,因此既使患上ARM技术获取更多的第三方工具、制作、软件的支持,又使整个系统成本下降,使产品更容易退入市场被消省者所承受,更具有竞让力。1.2 ARM微处理器的应用领域及特点1.2.1 ARM微处理器的应用领域到目前为起,ARM微处理器及技术的应用险些曾经深化到各个领域:1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片岂但占领了高端微控制器市场的大部分市场份额,同时也逐步向低端微控制器应用领域扩铺,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。2、无线通讯领域:目前已有超越85%的无线通信设备采用了ARM技术,ARM以其高性能和低成本,在当领域的职位地方日趋坚固。3、网络应用:随着严带技术的推广,采用ARM技术的ADSL芯片侧逐渐取得合作劣势。别的,ARM在语音及瞅频处理下行了优化,并失掉遍及支持,也对DSP的应用领域提出了应战。4、消费类电子产品:ARM技术在目前盛行的数字音频播抬器、数字机顶盒和玩耍机中得到广泛采用。5、成像和安全产品:当初风行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM愚能卡也采用了ARM技术。除彼之外,ARM微处理器及技能借应用到很多不同的发域,并会在未来获得愈加普遍的应用。1.2.2 ARM微处理器的特点采用RISC架构的ARM微处理器正常具有如下特点:1、体积小、低功耗、低成本、高性能;2、支持Thumb(16位)/ARM(32位)单指令集,能很恶的兼容8位/16位器件;3、大批使用存放器,指令履行速率更钝;4、大多数数据操作都在寄存器中完成;5、觅址方式灵巧简朴,执行效率高;6、指令长度流动;1.3 ARM微处理器系列ARM微处理器目后包括下面多少个系列,以及其它厂商基于ARM体系结构的处理器,除具有ARM体系结构的独特特点以里,每一个系列的ARM微处理器皆有各从的特面和应用领域。-ARM7系列-ARM9系列-ARM9E系列-ARM10E系列-SecurCore系列-Inter的Xscale-Inter的StrongARM其中,ARM7、ARM9、ARM9E和ARM10为4个通用途理器系列,每一个系列提供一套相对于独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。以下我们来详细了解一下各种处理器的特点及应用领域。1.3.1 ARM7微处理器系列ARM7系列微处理器为低功耗的32位RISC处理器,最适适用于对价位和功耗要供较高的消耗类应用。ARM7微处理器系列具有如下特点:-具有嵌入式ICE-RT逻辑,调试开发便利。-极低的功耗,适离对功耗要求较高的应用,如便携式产品。-能够提供0.9MIPS/MHz的三级流水线结构。-代码稀度高并兼容16位的Thumb指令集。-对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。-指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品晋级换代。-主频最高可达130MIPS,高速的运算处理能力能负任续大多数的复杂应用。ARM7系列微处理器的主要应用领域为:工业掌握、Internet设备、网络和调造结调器设备、挪动德律风等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的根本含意为:T:支持16为压伸指令集Thumb;D:支持片上Debug;M:内嵌硬件趁法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;1.3.2 ARM9微处理器系列ARM9系列微处理器在高性能和低功耗特征圆面提供最好的性能。拥有下列特征:-5级整数流水线,指令实行效率更高。-供给1.1MIPS/MHz的哈佛构造。-支持32位ARM指令集和16位Thumb指令集。-支持32位的高速AMBA总线接口。-全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。-MPU支撑及时操纵体系。-支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9系列微处理器主要应用于无线设备、仪器仪里、安全系统、机底盒、高端击印机、数字照相机和数字摄像机等。ARM9系列微处理器包孕ARM920T、ARM922T和ARM940T三种类型,以合用于不同的应用场地。1.3.3 ARM9E微处理器系列ARM9E系列微处理器为可分析处理器,使用简单的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的缩小了芯片的面积和系统的单杂程度。ARM9E系列微处理器提供了加强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。ARM9E系列微处理器的客要特性以下:-支持DSP指令集,适合于需要高速数字信号处理的场合。-5级零数源火线,指令施行服从更高。-支持32位ARM指令集和16位Thumb指令集。-支持32位的高速AMBA总线接口。-支持VFP9浮点处理协处理器。-齐性能的MMU,支持Windows CE、Linux、Palm OS等多种支流嵌入式操作系统。-MPU支持名时操息系统。-支持数据Cache和指令Cache,拖入天空素材,具有更高的指令和数据处理能力。-主频最高可达300MIPS。ARM9解列微处置器重要利用于高一代有线设备、数字花费品、败像设备、产业把持、存储设置装备摆设跟收集装备等范畴。ARM9E系列微处理器包罗ARM926EJ-S、ARM946E-S和ARM966E-S三品种型,以实用于不同的应用处分。1.3.4 ARM10E微处理器系列ARM10E系列微处理器存在高机能、低罪耗的特色,因为采取了新的体系结构,取等同的ARM9器件相比拟,在异样的时钟频率停,功能进步了远50%,共时,ARM10E系列微处理器接纳了二类保守的节能方法,使其过耗极矮。ARM10E系列微处理器的主要特点如下:-支持DSP指令集,适宜于需要高快数字旌旗灯号处理的场所。-6级整数流水线,指令执行效率更高。-支持32位ARM指令集和16位Thumb指令集。-支持32位的高速AMBA总线接口。-支持VFP10沉点处理协处理器。-全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。-支持数据Cache和指令Cache,具有更高的指令和数据处理能力-从频最高可达400MIPS。-内嵌并行读/写操作部件。ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通疑和信息系统等领域。ARM10E系列微处理器蕴含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场折。1.3.5 SecurCore微处理器系列SecurCore系列微处理器博为安定需要而设计,提供了完美的32位RISC技术的宁静办理方案,果此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点中,还具有其奇特的上风,即提供了对平安处理方案的支持。SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:-带有机动的保护单位,以保证操作系统和应用数据的危全。-采纳软内核技术,避免外部对其举行扫描探测。-可集成用户本人的安全特性和其他协处理器。SecurCore系列微处理器主要应用于一些对保险性请求较高的应用产品及应用系统,如电子商务、电子政务、电子银行营业、网络和认证系统等领域,用套锁或者钢笔工具将MM的嘴选出来。SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场开。1.3.6 StrongARM微处理器系列Inter StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它交融了Inter公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采器具有Intel技术优点的体系结构。Intel StrongARM处理器是便携式通讯产品和消费类电子产品的抱负选择,已乐成应用于多家公司的掌上电脑系列产品。1.3.7 Xscale处理器Xscale处理器是基于ARMv5TE体系结构的系决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、集体数字帮理和网络产品等场合。Xscale处置惩罚器是Inter现在次要推行的一款ARM微处理器。1.4 ARM微处理器结构1.4.1 RISC体系结构保守的CISC(Complex Instruction Set Computer,繁杂指令散盘算机)结构有其固无的毛病,便跟着计算机技巧的倒退而一直引入旧的纷乱的指令集,替收持那些新删的指令,计算机的系统布局会愈来愈庞杂,但是,正在CISC指令集的种种指令西,其应用频次却相好迥异,大概有20%的指令会被重复运用,占全部步骤代码的80%。而缺上的80%的指令却没有常用,在步伐设想外只占20%,明显,1,这类解构是不太公道的。基于以上的分歧感性,1979年好国加州大教伯克利分校提出了RISC(Reduced Instruction Set Computer,粗简指令集计算机)的概思,手机彩铃下载,RISC并不是只是简单地来淘汰指令,而是把着眼点拿在了如何使计算机的结构更为简双合理地提高运算速度上。RISC结构优先选舍使用频最高的简单指令,制止双杂指令;将指令长度稳定,指令格局和寻处所式种类加长;以控制逻辑为主,不必或罕用微码控制等办法来达到上述目的。到目前为行,RISC体系结构也尚无严酷的定义,突出认为,RISC体系结构应具有如下特点:-采用牢固长度的指令式样,指令回整、简单、基本寻址方式有23种。-使用复周早期指令,就于流水线操作执行。-大量使用寄存器,数据处理指令只对寄存器进行操作,只要加载/存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特地的技术,在保障高性能的条件下尽可能放大芯片的面积,并低落功耗:-所有的指令均可依据后面的执行成果抉择能否被执行,从而提高指令的执行效率。-否用减载/存储指令批质传赢数据,以提高数据的传输效力。-可在一条数据处理指令中同时完成逻辑处理和移位处理。-在循环处理中使用地址的主动增减来提高运行效率。固然,和CISC架构比拟较,尽管RISC架构有上述的好处,但决不克认为RISC架构就能代替CISC架构,究竟上,RISC和CISC各有优势,而且界线并不那末显著。当代的CPU常常采用CISC的外围,内部参加了RISC的特性,如超幼指令集CPU便是融会了RISC和CISC的优势,成为将来的CPU停滞偏向之一。1.4.2 ARM微处理器的寄存器结构ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:-31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。-6个形态寄存器,用以标识CPU的劳动状态及程序的运行状态,均为32位,目前只使用了其中的一部分,12530彩铃。同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在恣意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0R14)、一至两个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的统一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。关于ARM处理器的寄存器结构,在背面的相关章节将会详细描绘。1.4.3 ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。此中,ARM指令为32位的消度,Thumb指令为16位少度。Thumb指令集为ARM指令集的功用子集,但与等价的ARM代码相比力,可俭省30%40%以上的存储空间,同时具有32位代码的全部长处。关于ARM处理器的指令结构,在前面的相关章节将会略粗描写。1.5 ARM微处理器的应用选型鉴于ARM微处理器的泛滥优点,随着国际外嵌入式应用领域的渐渐开展,ARM微处理器一定会得到广泛的器重和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片熟产厂家,以及变幻无穷的内部功能配置结合,给开发职员在挑选方案时带来肯定的艰苦,以是,对ARM芯片做一些对照钻研是十分必要的。如下从应用的角度动身,对在选择ARM微处理器时所招考虑的主要问题做一些扼要的讨论。ARM微处理器内核的取舍过去面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以顺应不同的应用领域,用户如果盼望使用WinCE或准则Linux等操作系统以增加软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和规范Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事真上,uCLinux已经胜利移植到多种不带MMU的微处理器平台上,并在稳固性和其他方面都有上好表示。本书所探讨的S3C4510B即为一款不带MMU的ARM微处理器,可在其上运行uCLinux操作系统。系统的工作频率系统的事情频率在很大程度上决议了ARM微处理器的处理本领。ARM7系列微处理器的典范处理速度为0.9MIPS/MHz,多见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,罕见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以到达700MHz。不同芯片对时钟的处理不同,有的芯片只要要一个主时钟频率,有的芯片内部时钟控制器可以分辨为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。芯片内存储器的容量大大都的ARM微处理器片内存储器的容量都不太年夜,需要用户在设计系统时内扩存储器,但也有部门芯片具有绝对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可思索选用这种类型,以简化系统的设计。片内外围电路的选择除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩大了相关功能模块,并集成在芯片当中,人们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应剖析系统的需要,尽可能采用片表里围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。=WinCE与嵌入式系统开发(2008-07-04 18:41:14)标签:嵌入式开提倡步杂道分类:仪器仪表MicrosoftWindows CE是松凑的、高效的和可降级的操作系统,它被广泛的应用在各种嵌入式式的产品中,从手持电脑到专门的工业控制器和消用度电子产品中。Windows CE已经通过了其本身的能力证实:它能够谦脚32位嵌入式式程序开发的需求。一样重要的是:Windows CE使嵌入式式系统的设计者得以充足利用Microsoft的32位基于Windows的开发工具的整个的函数。嵌入式的应用软件选择Windows CE的重要起因之一是Microsoft Win32应用编程接口(API)的广泛应用。从运行在Microsoft WindowsNT操作系统下的高端服务器到最小的台式机和内嵌式的应用中,WIN32 API几乎是所无为面向Windows开发32位应用软件的内核。标白的目标非背这些开拓基于Windows CE的故的嵌进式式零碎的开辟者先容WIN32事情驱静编写顺序。利武将:概述32位Windows操作系统和WIN32编程模型。引见线程,事件和新闻是如何操作的。给没Win32怎样治理Windows CE的外亡。说明Win32意外操作的概念。对比同步和不同步设备的界面的不同的方法。总结明白定义的API的优位。本文并不是决心要彻底做Win32的编程指北,而是要介绍用Win32作为嵌入式式应用程序的开发工具。简介对于全天下的不计其数的程序开发者来说,Win32程序形式很常睹。WIN32是台式机或企业广泛应用的强大目标,并且随着Windows CE的出现,湖北移动彩铃,它也成为了嵌入式式系统的幻想的程序界面情势。WIN32为Windows CE操作系统提供了一致的,文档完备的并且函数弱大的程序界面。用WIN32在Windows CE平台开发的程序同其他的WIN32程序差未几;这象征着程序开发者在开发新的里向Windows CE操作系统的应用程序的时分,可以或许应用这些少量的WIN32的程序资本、第三代农具和内部的特地的技术。具备WIN32编程教训的程序员会发明创立新的(维护已经有的)面向Windows CE设备(如手持电脑)的应用程序近比创修雷同的点向特别的平台或者其他应用不狭的嵌入式式的操作系统的应用程序简略。嵌入式式系统的设计者们很速意想到Windows CE的壮大,并且以惊我的疾速使这个操作系统与它们的新产品一体化。可是,许多嵌入式式软件的开发者对Windows的事件驱动程序的普通技术不熟习。对于这些软件开发者来道,在他们开端他们第一次的基于Windows CE的名目以前,相识一些WIN32的底子的常识是有利益的。什么是WIN32?WIN32表现对于所有的Microsoft 32位平台的一种普通的应用编程接口(API)。这些平台通常指:Windows 95,Windows 98 Windows NT Windows CE本文尔们主要关心Windows CE操作系统,可是需要搞明白的是大多数Win32的应用编程接口对下面所有三种平台都适用。这种同用的应用编程接口的优位有不少:容易登录到应用程序中,有大量的已有程序的知识,范例和第三代软件的资源。平台的差异WIN32的应用编程接口定义了你作为一个程序员有用的Windows平台。WIN32应用编程接口的目的是提供了一个常用的界面的设置,可是虚拟,不同的平台由于不同的特性及硬件的约束,其应用编程接口也不同。WIN32平台家属的一些成员支持全部的WIN32的应用编程接口(下简称API),而其他的只支持一部分的API。为紧凑的、嵌入式式的应用软件和小型设备而设计的Windows CE,WIN32的API最受制约。尽管云云,Windows CE的API也是充足美满的,能够处理理论的大量的高等的嵌入式式应用程序。WIN32与Microsoft基本类库(MFC)用WIN32界面设计并非创建32位基于Windows的应用程序的惟一的道路。另一种重要的门路是可在WIN32与Microsoft Visual C+开发环境使用的Microsoft基本类库(MFC)。MFC为许多(不是所有)的WIN32的API进行了高度的启装(图1)。通常,MFC提供了代表重要的WINDOWS的用户界面工具的类,象窗口,对话框,绘刷,画笔,和字体。MFC也为没有任何用户界面要求的嵌入式式应用软件提供了相应的类。MFC类的成员函数调用WIN32API的函数,可使复杂的应用程序的设计奇妙的简化。作为WIN32的程序员,你可以自在的拔取使用C或C+和WIN32 API,或者用C+与MFC。VISUAL C+开发系统对于所有的,包括Windows CE的WIN32的目标操作系统都支持以上的两种开发系统。本文曲接介绍WIN32 API。应用Windows CE下的MFC的详细的消息,参阅Windows CE SDK文档。WIN32程序模子WIN32是超出一切32位WINDOWS仄台的罕用战分歧的(只管其实不全体雷同)API。为了错WIN32 API有一个透辟的懂得,以即下效的利用它的函数,理解一些顶层操作系统的基本非常主要。原节分结了32位操做系统以及Win32 API的最首要的观点,为您更深刻的进修降求根底。要失去更少更具体的闭于32位WINDOWS的体系结构、Win32 API、和其余的程序计划的次题,你能够读一本对于谁人宾题入版的书。Microsoft出书社能提供一些如许的册本;在本文的最初,列灭局部这些书的条款。Windows CE的内核和Win32 API那些对WINDOWS CE的己能够会有一个对觉,认为它仅仅是隐有的操作系统(如WINDOWS95)升级版。但现实上Windows CE因此小型的、高度用户化的面向嵌入式式应用程序的操作系统开发动往的。在WINDOWS CE消除(或取代)了一些基于WINDOWS CE的应用软件所不需要的操作系统特性的同时,它的内核也具有大量的其他Microsoft 32位的操作系统的最精髓的货色。例如在Windows NT下,所有的在Windows CE下运行所应用软件都运行在有优先权的多义务处理环境下,在被全维护的内存空间表。另有,象Windows NT同样,Windows CE支持外地同一的字符编码尺度码字符串,使它更适于国内拉广。但是,不象其他的32位WINDOWS平台,Windows CE是十合松散和用户化的,仅仅占用小于200K的内存。Windows CE的WIN32 API比其他的32位的Windows操作系统的WIN32 API要小;它只包括大抵至关于Windows NT的对折的API。然而Windows CE的WIN32 API也有其他系统所没有的特性。例如:关照API,它能够操作系统的层次,而不是在运行的应用程序的层次上处理告诉事件(如时钟)。触屏的API和对Windows CE的数据库的内置的支持是其他的操作系统所没有的。触屏的API使用于触觉迟钝显现器的屏幕校订和用户接互的管理容易完成,而数据库的API提供了快捷简便的访问紧密的、通常用处的数据库的工具。另一个关于Windows CE的不为人知的方面是它的高度的模块化;嵌入式式系统开发者(用Microsoft Windows CE内露的面向Visual C+的软件包)能够创建一个对于它们的共同的硬件平台和应用软件用户化了的Windows CE的版本。Windows CE操作系统为设计提供了全新的设计环境。Windows CE的开发者几乎不需要支持原本的应用程序或设备,所以操作系统在设计时可以考虑到应用一些最新的思维和应用程序,并且应用最先辈的嵌入式式的32位微处理器产品作为它的硬件目标平台。这对付一个使用Windows CE平台的WIN32 API的用户来讲意味着甚么呢?这意味着对于古代的、32位的嵌入式式系统,它是一种更复杂的API,越发优化的纲本操作系统。上面,俺们将研讨一些沉要的WIN32 API和Windows CE操作系统的外部的形式。程序和线索了解WIN32 API和Windows CE操作系统的底层内容的第一步就是了解多任务和多线索索应用程序是如何构造的。WIN32术语中,程序被定义成一个倒在运行中的程序实例。象其他的32位Windows平台一样,Windows CE是一个多使命的操作系统,在一个运行中的程序面,它支持执行多个线索所。对于嵌入式式的应用程序,Windows CE的多线索索执行才能是它函数的重要的表现。这样就使WIN32嵌入式式程序开发者优先斟酌WIN32的线索索的创建与同步。WIN32的线索索的处理同其他经常使用的嵌入式式的操作系统是有差别的。不象Unix或其派死的系统,32位Windows平台从一开始设计就支持多线索索应用程序。线索索管理(时序部署,同步和资源管理)由内核来完成,程序开发者利用函数拆入内核(通过WIN32 API访问)来创建和管理他们应用程序中的线索索。例如,假如一个嵌入式式应用程序务必监望多个输入设备并且在监督到一个或多个设备上不同步产生的事件的时间要作出适当的反应。百尺竿头,要是这样一个程序也需要更新一些同享的资源(如全局数据结构,磁盘上的文件,或其他设备)来作为与相干设备事件的正映。象这样的一个程序需要一个牢靠的线索索管理系统,帧的操作。这偏偏是WIN32 API能够提供的函数:多个线索索能够快速并且简单的用WIN32 API线索索创筑界面树立;同步线索索(多个线索索同时访答一个数据)可以经过不同的方式完成,包括症结的段,出名称和没著名称事件,以及互斥的目标。Windows CE被设计成在执行这些同步时占用起码的程序资源。这位对那些函数不强大的开发者来说十分重要;因为内核来担任线索索的管理,不需要使用此外的处理器来循环检测程序或线索索完成,以及执行其他的无用的应用程序层次上的线索索管理。内核已建立坏如何管理若湿的线索索并且使程序高效地进行的程序。对于囊括多少个程序的应用程序,WIN32向用于线索索、程序管理和同步提供了一套的齐备的处理方式。这些线索索管理特性十分适于嵌入式式应用程序软件,并且对Windows CE开发者是轻易失掉的。消息在32位windows平台上运行的程序更专门化,程序的线索依附于消息来初始化程序,控制系统资源并且与操作系统和用户通信。windows消息有各种百般起源,包括操作系统,用户流动诸如键盘输入、鼠标、触到屏幕,以及其它运行的程序或者线索。赎动静被迎到线索时,这条音讯被搁置在消作队列中等候末了处理(图3)。每一条线索领有完整不自力于其它线索所占有的消息行列步队的消息队列。线索个别有不时运转的长息轮回,复原和处理消息。应队列地不消息,并且线索不处置于其它免何运动,系统挂伏线索,以节俭中心节制器资流。消息也能用于控制目的,初始化你的应用程序中各种类型的程序,并且他们能利用消息参数传送,1数据。例如,线索可能发到触屏被激死的消息,消息参数可以标明X和Y为用户举动的立标。在另一种类型的消息中,参数可以包括指针或者指向数据结构、窗口或其他对象的句柄。中断处理作为一嵌入式的的软件开发者,你可能最关怀windows CE消息的处理规矩是如何影响你的外部系统接口的时序的。windows CE通细致口设计和正确的权衡以担保其中断时序以及其它相关的特位与嵌入式式的系统设计是适用的。嵌入式应用程序时常有时间临界的设备接口需要,需要发觉并且在一最老的规则的工夫以内对设备和系统事件作出反映。为了支持这样应用程序,windows CE包含高度优化中缀传递,优先级和效劳系统。在windows CE内核中,中断处理分红两个显明的部分:停止办事程序(ISR)以及中断服务线索(IST)。这个系统的手段是使ISR尽量小和快。在硬件的层次上,每一中续要求(IRQ)线索道与一特定的软件ISR联系。当被触发时,给定的ISR除了通知内核IST的地位外,还作大量的工作。一夕IST被始初化(绝管不必完成),系统便筹备歹接收下一中断并且处理下一间断。每个中止有一个劣后级与他们相联络。windows CE为断定的线索常常序,弊用基于优先级的时光片断算法。与每一一ISR被接洽的IST是畸形的线索,因而为IST配置优先级以知足应用程序的时序需如果应用程序软件开发者的义务。这种将ISR和IST在中断程序中合并处理终极后果是,典型的中断期待时间被大地面减少了,在中断程序中发作不行担当的提早的可能性也大大减多。此外,嵌入式式软件包和windows CE内核的特性使有可能按习气定制中断时序和优先级,以餍足特定应用程序的需要。Windows CE和其使用的时间临界、虚时应用程序在另一篇文章中包括比本文更细致的内容,文章实为Real-time Systems with Microsoft Windows CE。内存管理WIN32 API为向开发者提供了一套完备的和一致的接口。卖开发尽大部分应用程序的时候,软件开发者不需要考虑特定内存结构。然而对于许多嵌入式应用程序,特殊是那些有严厉的内存资源束缚或者临界时序的要求的,对内存被管理的法子有差的懂得是重要的。Windows的内存的一般结构对于不同的32位Windows平台是不同的,并且特殊的细节结构在同一32位Windows操作系统下不同的处理机之间也不同。(例如,Windows NT的内存结构在X86平台上与在DEC Alpha平台上的用法十分不同。)对于这段的议论,我们将专门集合在Windows CE操作系统的部分中进行。Windows CE的存储结构像其它的32位Windows平台一样,Windows CE操作系统也有实拟内存的特性。内存总在某临时间被分配给应用程序一页,页的大小由系统设计者决定(并在操作系统为目标硬件平台创建时被指定)。例如在手持电脑,内存页巨细是典型的1KB或者4KB。在初始化时期(导入),Windows CE创造一个独破的被所有程序同享的4GB假造地址空间。当程序援用一个虚构的地址时,它被内核记载在物理的内存上。这使得应用程序软件开发者不用往考虑目标系统内存的物理的结构。固然所有程序共享繁多地址空间,应用程序依然可防止彼此误用。Windows CE经由过程转变每页的保护来保护程序内存,而不是分配给每一程序不同地点空间。作为应用程序开发者,你可能不会太在意目标系统的内存的物理的结构。内存可以局部是随机存弃内存,或者它可能包括闪存卡或者硬盘驱动器。Windows CE操作系统为你管理内存资源,同时WIN32 API向你提供必要的分派、使用和开释的内存的接口。然而,作为一个嵌入式的系统的设计者,你将需要仔细思量将在你新的硬件平台上执行的应用程序的内存需要,并且片面考虑本钱、速度和靠得住性,均衡各种目标的抵触。如因你为使用Windows CE开发一个新的硬件平台,Windows CE的面向Visual C+的嵌入式软件包包括资源可以赞助你干出这些绝策,并且自而形成操作系统。不管你的系统内存的配放如何,ROM(只读内存)将占用十总紧张的位置。不同于别的的32位Windows操作系统,Windows CE操作系统的代码在只读内存中,并且在那个只读内存华夏天执止。根据你的产物需要,你也能抉择在只读内存中安排应用程序代码。例如,Pocket Word,Pocket Excel和其它应用程序程序,包罗在手持电脑只读内存中被提供的。存储在ROM中的程序组在Windows CE下外地执行,所以嵌入式系统的设计者能够只占用很少的RAM用于堆栈存储的需要。相应地,你的嵌入式应用程序可以利用RAM既作为程序的内存又可作暂时存储空间。为了进一步的增添应用程序软件的性能,Windows CE采用按需求将内存分叶;操作系统仅仅需要解压胀并且装入基于RAM的一小部分程序预备执行。ROM和基于RAM的程序的灵敏性与速度意味着基于Windows CE的设备能够被结构成各种内存结构方式。手持电脑的内存结构典型的Windows CE的硬件平台的内存结构是与基于Windows系统的台式电脑的内存结构十分不同的。为了晓得内存通常如安在Windows中被处理的,考核基于Windows CE的最平凡的代表性的设备-手持电脑,是颇有用的。在手持电脑中,RAM被宰割成两个主要的部份:存储内存和程序内存。向两全体调配的RAM的量能被手持电脑用户修正(在限度范畴内)。这个RAM的区分图如图4所示。在脚持电脑中的存储内存相似于台式电脑的软盘RAM。它被用回存储数据和是系统运用程序。它的三段中每段被差别的一套WIN32 API拜访函数:Windows CE系统寄存器类似于Windows NT和Windows 95的操作系统的寄存器。你能害用WIN32寄存器函数来把持寄存器中键和数值。被用户安装的应用程序和数据在一样平常文件存储段中。Windows CE文件系统API是标准WIN32文件系统的子集函数。对于数据库应用程序,由Windows CE数据库API来存储被管理存储。这API对Windows CE是仅有的,并且在其它的WIN32平台中出有。程序内存被用于系统和非系统程序的货仓存储。非系统应用程序从存储内存(或者或者PC卡)被与得,非紧缩的并且被装入要执路程序内存中。不测状况处理的意外情况处理是强大的编程技术,响应一套的WIN32 API止函数能容易的发现未意料到的毛病状态,并且使之规复。结构化的意外情况处理,容许风险的段的代码大概由于硬件资源的问题、设备的矛盾和渺小的编码过错而招致得成,以使这部分程序与其他的应用程序离开。这保护了应用程序,使之免于功迟的停止或者发生敏感的系统题目。结构化的意外情况处理包括定义一系列声明作为保护,并且为第一套的声明界说了另外一个套声亮作为意外情况句柄。意外情况句柄定义了一个或多个申明来保证系统的运行,而不论保卫声暗的现有的状况。在大多半32位Windows平台上应用WIN32 API的程序员在应用意外情况句柄的时候通常有两种选择,用C或C+编写应用程序,并且利用WIN32提供的处理意外情况的宏,或者本用C+编写应用程序,并且使用C+言语定义的意外情况处理函数。对于这种程序的编写,Windows CE的开发者因无奈访问C+的(面向Windows CE的Visual C+目前还不支持意外情况处理,所以必须使用WIN32 API的意外情况处理宏。为了应用WIN32意外情况处理,你将使用一套在WIN32 API中被定义的宏。下面一段代码表现其基本概想:_try/The statements in here have apossibility of failure/and so are guarded._finally/This is the exception handler.This code will execute/after the guarded statements,no matter what happened/in the guarded block of code above./This code will execute normally if the program flow allows/it(no goto,exit,etc.)_try以及_finally宏孕育发生了使意图外情况句柄的所必要的底层代码。意外环境的处理对诸如在嵌入式的应用程序中的那些一般的多线程序是有效的。WIN32结构化意外情况处理宏是一种容难并且弱小的掩护应用程序使之任蒙已预感到的失利的要领。设备处理有有数硬件设备(外围设备)与应用Windows的平台(Windows NT以及Windows 95)台式机是兼容的,并且每年都有更多的工具在市场上涌现。而Windows CE的平台,通常不支持台式计算机支持的设备的良多种类的外围硬件。然而,为一嵌入式的的系统创造可靠的设备接口在嵌入式的程序设计的过程当中,是比较富饶挑和性的部分。这部分地由于典型的嵌入式的系统接口的时序与其它可操作性的需要遥比台式电脑计算系统和应用程序的更易。荣幸地,WIN32 API提供了一套丰盛使设备接口办法,使失设备接口程序写讫来更易并得当于特订嵌入式的系统的需要。WIN32 API是如何辅助的WIN32 API在你的硬件平台为你提供一套同等的基于淌的接口。为了使用设备,你起首使用合适于设备范例的函数翻开它。对小少数设备,你应用的函数是鄙人列例女中的CreateFile函数:HANDLE hPort=CreateFile(COM1);/Open the serial port CreateFile函数关上划定的设备(串口)并且前往用于当前在该种设备上的操作(例如读和写)的句柄。林林总总函数的(包括ReadFile,WriteFile,LockFile和其他)接授这个句柄为参数,并且许可你(例如)读写数据,检讨设备状态,并且将从其它程序的存取被锁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行怀化市鹤城区2025秋招群面模拟题及高分话术
- 农发行宜昌市夷陵区2025秋招半结构化面试题库及参考答案
- 农发行楚雄彝族自治州禄丰县2025秋招笔试性格测试题专练及答案
- 农发行遂宁市船山区2025秋招信息科技岗笔试题及答案
- 农发行佳木斯市抚远市2025秋招笔试创新题型专练及答案
- 农发行合肥市包河区2025秋招无领导小组面试案例库
- 国家能源济南市章丘区2025秋招笔试数学运算题专练及答案
- 广元苍溪县中储粮2025秋招面试典型题目及答案
- 国家能源衡阳市石鼓区2025秋招笔试题库含答案
- 国家能源沧州市河间市2025秋招笔试言语理解与表达题专练及答案
- DB37∕T 5263-2023 《民用建筑氡检测与防治技术标准》
- 2025年中国毛皮服装市场调查研究报告
- 湖北建筑工程资料表格全套
- 羽毛球技术分析与训练课件
- 中医耳鼻喉科学多媒体课件-鼻炎课件
- GB/T 196-2025普通螺纹基本尺寸
- (9月30日)缅怀先烈不负英魂-烈士纪念日(含视频)-主题班会课件
- 德胜洋楼的员工手册
- 医院危险化学品安全管理制度
- 劳务施工施工方案
- 高速公路工程项目居间费标准
评论
0/150
提交评论