嵌入式系统-应用实例教学提纲.ppt
嵌入式系统-应用实例实物图片实物图片便携式盘点设备外观29.2 9.2 硬件平台的设计硬件平台的设计 嵌入式设备的硬件架构一般都是以嵌入式微处理嵌入式设备的硬件架构一般都是以嵌入式微处理器为核心,通过处理器接口扩展以及系统硬件的支持,器为核心,通过处理器接口扩展以及系统硬件的支持,把众多的外设单元集成到整个系统中,并通过把众多的外设单元集成到整个系统中,并通过CPLD CPLD 等等逻辑转换器件和其它硬件电路完成对外设模块进行读逻辑转换器件和其它硬件电路完成对外设模块进行读写和控制操作。写和控制操作。物流盘点机系统硬件原理框图如图物流盘点机系统硬件原理框图如图9-1abc9-1abc所示,所示,硬件部分主要包含有核心板,系统板和专用键盘及硬件部分主要包含有核心板,系统板和专用键盘及 LCDLCD显示器三个部分。显示器三个部分。1 1)系统核心板简介)系统核心板简介 核心板是整个系统的核心,集成了盘点机系统的核心板是整个系统的核心,集成了盘点机系统的微处理器、微处理器、SDRAMSDRAM单元、单元、NAND FlashNAND Flash单元以及它们所需单元以及它们所需要的辅助部件,如晶体振荡器(要的辅助部件,如晶体振荡器(12MHZ12MHZ和和32KHZ32KHZ两组),两组),电源模块等等。核心板图和电源模块等等。核心板图和PCBPCB板图如图板图如图9.1b,c9.1b,c所示。所示。3 图图9.1a9.1a硬件平台示意图硬件平台示意图4 2 2)FlashROM FlashROM程序存储器程序存储器 在核心板中,微处理器采用的是基于在核心板中,微处理器采用的是基于ARM920TARM920T核的核的S3C2410S3C2410微处理器。系统的程序存储器采用的是微处理器。系统的程序存储器采用的是NAND NAND FlashFlash,芯片的型号是,芯片的型号是SamsungSamsung公司的公司的K9F1208K9F1208,容量为,容量为64MB64MB,NAND FlashROM NAND FlashROM 接口电路原理如图接口电路原理如图9-29-2所示。所示。它按页进行自动编程,每一页大小为它按页进行自动编程,每一页大小为528528(512+16512+16)字节,编程的典型时间为)字节,编程的典型时间为200s200s。擦除则。擦除则按照块进行,每一块的大小为按照块进行,每一块的大小为16K16K字节,典型的擦除时字节,典型的擦除时间为间为2ms2ms。它在页面中读取单个数据的时间为。它在页面中读取单个数据的时间为50ns50ns。K9F1208K9F1208总共有总共有4848个引脚,起作用的只有个引脚,起作用的只有8 8根根I IO O口线、口线、读写控制线和电源线等。读写控制线和电源线等。I IO O口是地址、命令输入和数口是地址、命令输入和数据输出输入的复用端口。据输出输入的复用端口。K9F1208K9F1208还提供了还提供了ECCECC错误纠错误纠正码,实现坏区检测以及实时映射,这样它具有高达正码,实现坏区检测以及实时映射,这样它具有高达1010万次的编程擦除周期,数据保存长达万次的编程擦除周期,数据保存长达1010年。在年。在S3C2410S3C2410内部集成有内部集成有NAND FlashNAND Flash控制器,可以在硬件上控制器,可以在硬件上直接与直接与NAND FlashNAND Flash相连。在盘点机中,相连。在盘点机中,NAND FlashNAND Flash被用被用作装载操作系统镜像以及大容量的数据存储,同时也是作装载操作系统镜像以及大容量的数据存储,同时也是系统启动存储器。系统启动存储器。5图图9.1b 9.1b 核心板部分的示意图核心板部分的示意图 核心板是整个系统的核心,集成了盘点机核心板是整个系统的核心,集成了盘点机系统的处理器,系统的处理器,SDRAMSDRAM单元,单元,NAND FlashNAND Flash单单元以及它们所需要的辅助部件元以及它们所需要的辅助部件 6图图9.1c 9.1c 核心板核心板PCBPCB图(图(6 6层)层)7图图9-2 NAND FlashROM9-2 NAND FlashROM的原理图的原理图8 3)SDRAM 3)SDRAM随机存储器随机存储器 SDRAM SDRAM被用来运行操作系统以及各类数据的缓被用来运行操作系统以及各类数据的缓存,图存,图9-39-3是核心板是核心板 SDRAM SDRAM 接口部分的原理图,接口部分的原理图,系统采用两片系统采用两片HY57V561620 16M16Bit SDRAMHY57V561620 16M16Bit SDRAM芯芯片,共同组成片,共同组成32Bit32Bit数据宽度,数据宽度,64MB64MB内存。内存。HY57V561620 HY57V561620是一款是一款4Banks4M16Bit4Banks4M16Bit的的SDRAMSDRAM芯片,采用芯片,采用3.3V3.3V电源供电,比较适合嵌入电源供电,比较适合嵌入式系统。式系统。SDRAMSDRAM与其它的与其它的RAMRAM相比,有许多独特的相比,有许多独特的优点,容量大,功耗低,速度快,最快可以工作优点,容量大,功耗低,速度快,最快可以工作在在166MHz166MHz频率下,通常存储时间为频率下,通常存储时间为10ns10ns。在高速。在高速存储系统中存储系统中SDRAMSDRAM是必不可少的外部存储设备。是必不可少的外部存储设备。SDRAMSDRAM通过通过S3C2410S3C2410片内的片内的SDRAMSDRAM控制器来管理,控制器来管理,SDRAMSDRAM挂接在挂接在BANK6BANK6上。上。9图图9-39-3核心板核心板SDRAMSDRAM部分的原理电路图部分的原理电路图10 4 4)核心板电源)核心板电源 图图9-49-4是是核核心心板板电电源源部部分分的的原原理理电电路路图图。图图中中,采采用用MIC5207MIC5207电电源源芯芯片片将将来来自自系系统统板板的的3.3V3.3V电电压压转转换换为为两两组组1.8V1.8V电电压压供供给给处处理理器器内内核核使使用用。核核心心板板上上还还有有一一些些辅辅助助电电路路,包包括括上上拉拉电电阻阻,滤滤波波电电容容,以以及及供供处处理理器器使使用用的的主主时时钟钟晶晶振振,供供外外设设适适用用的的辅辅助助时时钟钟晶晶振振等等,它它们们一一起起构构成成了了ARMARM的的最最小小硬硬件件系系统统板板。系系统统所所使使用用的的S3C2410S3C2410处处理理器器是是一一款款FBGAFBGA封封装装的的高高速速处处理理器器,运运行行时时钟钟频频率率为为203MHz203MHz,这这种种FBGAFBGA封封装装的的高高速速处处理理器器需需要要使使用用多多层层电电路路板板设设计计。本本系系统统核核心心板板工工作作在在高高速速信信号号下下,为为了了布布线线方方便便,减减少少干干扰扰,采采用用了了六六层层电电路路板板设设计计,第第二二层层为为接接地地面面,四四层层为为电电源源面面,其其他他各各层层为为信信号号层层。核核心心板板通通过过标标准准144144芯芯SIMMSIMM插插座座与与母母板板连连接接。核核心心板板是是一一个个最最小小的的ARM9ARM9硬硬件件系系统统板板,具具有有较较好好的的通通用用性性,可可以以作作为为不不同同产产品开发设计的基础。品开发设计的基础。11 图图9.4 9.4 电源原理图电源原理图129.2.29.2.2系统板(应用板)的组成与工作原系统板(应用板)的组成与工作原 系统板起两方面的作用,一方面对核心板提供支持。系统板起两方面的作用,一方面对核心板提供支持。如为核心板供电,提供外设到核心板的连接,另一方面如为核心板供电,提供外设到核心板的连接,另一方面为各种外设提供了接口。系统板主要集成有为各种外设提供了接口。系统板主要集成有RJ-45RJ-45网络网络接口、接口、USB USB 主从设备接口、串行接口、主从设备接口、串行接口、LCDLCD显示器接显示器接口、口、CFCF卡接口、键盘等接口电路。同时,还有包含有一卡接口、键盘等接口电路。同时,还有包含有一些相应的控制转换电路(如可编程器件些相应的控制转换电路(如可编程器件CPLDCPLD)和电源管)和电源管理部分。核心板和母板之间采用标准理部分。核心板和母板之间采用标准SIMMSIMM插槽连接,外插槽连接,外设和系统板之间采用相应的外设接口连接。其中可编程设和系统板之间采用相应的外设接口连接。其中可编程器件器件CPLDCPLD采用的是采用的是AlteraAltera公司的公司的EPM3032ATC44-10EPM3032ATC44-10的的CPLDCPLD芯片。芯片。CPLDCPLD器件可以实现高速的器件可以实现高速的FIFOFIFO或者利用其灵或者利用其灵活的可编程性,可以作为核心板与外部其他功能模块的活的可编程性,可以作为核心板与外部其他功能模块的通用接口(如实现了一个通用接口(如实现了一个IDEIDE接口)。因为接口)。因为S3C2410S3C2410本身本身没有没有CFCF卡(半导体辅助存储器中的一种)接口,所以为卡(半导体辅助存储器中的一种)接口,所以为了连接了连接CFCF卡,必须采用转换接口。实际系统中采用了总卡,必须采用转换接口。实际系统中采用了总线接口的线接口的IDEIDE接口转换为接口转换为CFCF卡接口。卡接口。13 系系统统板板上上的的网网络络接接口口芯芯片片采采用用CS8900CS8900网网络络接接口口芯芯片片。CS8900CS8900芯芯片片是是Cirrus Cirrus LogicLogic公公司司生生产产的的一一种种局局域域网网处处理理芯芯片片,它它的的封封装装是是100-pin 100-pin TQFPTQFP,内内部部集集成成了了在在片片RAMRAM、10BASE-T10BASE-T收收发发滤滤波波器器,并并且且提提供供8 8位位和和1616位位两两种种接接口口。本本系系统统中中采采用用1616位位接接口口方方式式。以以太太网网接接口口原原理理图图如如图图9-6 9-6 所所示示,图图中中HR601627HR601627是是一一种种脉脉冲冲变变压压器器,在在CS8900CS8900的前端对网络信号进行脉冲波形变换。的前端对网络信号进行脉冲波形变换。14 图图9.6 CS89009.6 CS8900网络接口原理图。网络接口原理图。15 系系统统采采用用了了一一款款专专用用显显示示器器1926419264型型LCDLCD显显示示器器。该该显显示示器器是是一一种种图图形形点点阵阵液液晶晶显显示示器器,它它主主要要由由行行驱驱动动器器、列列驱驱动动器器及及1926419264全全点点阵阵液液晶晶显显示示器器组组成成。可可完完成成图图形形显显示示,也也可可以以显显示示124124个个(16161616点点阵阵 )汉汉字字,采采用用3.3V3.3V电电源源供供电电,与与处处理理器器接接口口采采用用8 8位位并并行行输输入入输输出出数数据据总总线线和和8 8条条控控制制线线。S3C2410S3C2410处处理理器器内内部部集集成成了了LCDLCD控控制制器器,但但是是该该控控制制器器不不支支持持用用户户选选定定的的显显示示器器,只只能能采采用用其其他他方方式式接接入入该该款款显显示示器器,实实际际采采用用的的是直接挂接到处理器的通用是直接挂接到处理器的通用I/OI/O口上的方式。口上的方式。16 S3C2410 S3C2410中集成了中集成了3.3V TTL 3.3V TTL 电平的串行接口,电平的串行接口,可以直接使用。为了与标准可以直接使用。为了与标准RS232CRS232C串行设备通信,串行设备通信,采用了一块采用了一块SP3243SP3243芯片用于电平的转换,构成了芯片用于电平的转换,构成了一个比较完整的串口。一个比较完整的串口。在盘点机的实际应用中,需要外接串行口的在盘点机的实际应用中,需要外接串行口的条形码扫描仪,该扫描仪采用标准串口条形码扫描仪,该扫描仪采用标准串口9 9针针D D型插型插座,工作时需要通过串口第九针外接座,工作时需要通过串口第九针外接5V5V电源。为电源。为了方便使用该款扫描仪,设计时对串行接口进行了方便使用该款扫描仪,设计时对串行接口进行了改进,在串口第九针上采用电子开关叠加可控了改进,在串口第九针上采用电子开关叠加可控的的5V5V电源。在作为标准串口使用时,电源。在作为标准串口使用时,5V5V电源和第电源和第九针断开。当外接扫描仪时第九针接入九针断开。当外接扫描仪时第九针接入5V5V电源,电源,驱动扫描仪正常工作。串口第九针是否接入驱动扫描仪正常工作。串口第九针是否接入5V5V电电源在串口驱动程序中实现,应用程序通过串口设源在串口驱动程序中实现,应用程序通过串口设置系统调用函数来控制,接口电路如图置系统调用函数来控制,接口电路如图 9-8 9-8 所所示。示。17图图 9-8 9-8 串行接口电路串行接口电路18 本本系系统统中中所所用用的的设设备备较较多多,其其中中很很多多设设备备需需要要复复位位信信号号来来保保证证正正常常可可靠靠的的复复位位。为为此此,在在系系统统板板上上设设计计了了复复位位信信号号模模块块,该该模模块块采采用用电电阻阻、电电容容和和二二极极管管构构成成一一个个简简单单适适用用的的复复位位电电路路,在在此此基基础础上上采采用用74HC1774HC17芯芯片片进进行行波波形形调调整整、信信号号取取反反继继而而生生成成符符合合设设备备需需要要的的高高、低低电电平平两两组组复复位位信信号号,供供整整个个系系统统使使用用。复复位位电电路路的的原原理理图图见见图图9-9-9 9所示所示 。S3C2410 S3C2410处理器片内集成有处理器片内集成有USBUSB接口,故系统接口,故系统板只是简单的将此信号引出。板只是简单的将此信号引出。19图图9.8 9.8 复位电路原理图复位电路原理图 20 盘盘点点机机的的输输入入信信号号则则采采用用外外接接的的串串口口键键盘盘手手动动输输入入和和串串口口条条形形码码扫扫描描仪仪读读入入方方式式。串串口口键键盘盘为为自自行行设设计计的的,适适合合盘盘点点业业需需要要的的专专用用键键盘盘,键键盘盘采采用用了了一一款款1616位位低低功功耗单片机耗单片机MSP430MSP430进行管理。进行管理。使用盘点机的目的是为了提高盘点效率,对于盘点使用盘点机的目的是为了提高盘点效率,对于盘点人员而言,使用最多的就是扫描仪和键盘。扫描仪上只人员而言,使用最多的就是扫描仪和键盘。扫描仪上只有一个按键,使用简单。由于键盘的效率对于提高盘点有一个按键,使用简单。由于键盘的效率对于提高盘点的效率非常重要,所以在盘点机系统中设计一款最合适的效率非常重要,所以在盘点机系统中设计一款最合适盘点使用的键盘是提高盘点效率的重要一环。盘点机是盘点使用的键盘是提高盘点效率的重要一环。盘点机是一款便携式设备,键盘不可能做得很大,另一方面为了一款便携式设备,键盘不可能做得很大,另一方面为了便于盘点人员实现盲打,按键的大小不能太小,特别是便于盘点人员实现盲打,按键的大小不能太小,特别是频繁使用的按键还应该比计算机标准键盘略大。在这种频繁使用的按键还应该比计算机标准键盘略大。在这种情况下,按键的个数就有所限制,经过大量实践,最终情况下,按键的个数就有所限制,经过大量实践,最终的键盘设计采用了的键盘设计采用了3131键的方案。其中字母和数据键在一键的方案。其中字母和数据键在一般情况下作为数字键使用,配合般情况下作为数字键使用,配合ShiftShift按键输入字母,按键输入字母,图图9-109-10为键盘部分的框图。为键盘部分的框图。9.2.39.2.3专用键盘的设计专用键盘的设计21 同同时时,为为了了使使用用方方便便,键键盘盘上上还还设设置置了了系系统统休休眠眠、唤唤醒醒按按键键,与与键键盘盘接接口口一一起起通通过过排排线线接接入入系系统统板板。键键盘盘所所用用的的控控制制器器为为MSP430F149MSP430F149,这这是是TITI公公司司推推出出的的一一种种具具有有1616位位RISCRISC结结构构、超超低低功功耗耗的的工工业业级级混混合合信信号号控控制制器器。这这些些控控制制器器被被设设计计为为可可用用电电池池工工作作,而而且且可可以以有有很很长长使使用用时时间间的的应应用用。CPUCPU中中的的1616个个寄寄存存器器和和常常数数发发生生器器使使MSP430MSP430微微控控制制器器能能达达到到最最高高的的代代码码效效率率,灵灵活活的的时时钟钟源源可可以以使使器器件件达达到到最最低低的的功功率率消消耗耗,数数字字控控制制的的振振荡荡器器(DCODCO)可可使使器器件件从从低低功功耗耗模模式式迅迅速速唤唤醒醒,在在少少于于6s6s的的时时间间内内激激活活到到活活跃跃的的工工作作方方式式。程程序序中中使使用用MSP430F149MSP430F149的的外外部部中中断断I/OI/O口口作作为为键键盘盘扫扫描描的的信信号号线线,经经过过编编码码后后,通通过过片片内内内内置置的的串串口口输输出出到到系系统统板板。该该芯芯片片在在1.8-3.6V1.8-3.6V电电压压,1MHz1MHz的的时时钟钟条条件件下下运运行行,耗耗电电电电流流在在0.1-400A0.1-400A之之间间(因因不不同同的的工工作作模模式式而而不不同同)。CPUCPU平平时时至至于于节节电电模模式式,按按键键时时触触发发中中断断信信号号,CPUCPU立立即即被被唤唤醒醒,处处理理完完键盘事件后,键盘事件后,CPUCPU再次进入省电模式。再次进入省电模式。22图图9-109-10为键盘部分的框图为键盘部分的框图 23系统 板图10M以太网网卡CS8900条形码扫描仪RS232接口网络传输RJ45接口JTAG调试接口键盘RS232接口LCD显示器接口电源模块MAX603249.3 9.3 软件系统的设计软件系统的设计 系系统统的的软软件件系系统统主主要要包包括括嵌嵌入入式式操操作作系系统统选选型型、定定制制及及裁裁减减、硬件驱动程序和用户应用程序方面。硬件驱动程序和用户应用程序方面。9.3.19.3.1操作系统的定制与实现操作系统的定制与实现 Window Window CE CE 具具有有良良好好的的图图形形交交互互界界面面,便便于于开开发发调调试试上上层层图图形形应用程序,所以本便携式盘点机的操作系统选用了应用程序,所以本便携式盘点机的操作系统选用了Windows CEWindows CE。Microsoft Windows CE.NET Microsoft Windows CE.NET 是支持多平台的、可定制的是支持多平台的、可定制的3232位嵌位嵌入式操作系统。支持多线程、完全抢占执行和多任务。不仅适用入式操作系统。支持多线程、完全抢占执行和多任务。不仅适用于工业上的嵌入式设备,同时支持高度便携性的个人计算设备,于工业上的嵌入式设备,同时支持高度便携性的个人计算设备,如掌上电脑、如掌上电脑、PDA PDA 和移动通信设备等。和移动通信设备等。Windows CE.NETWindows CE.NET在设计在设计上采用完全的模块化结构,可以根据硬件平台和应用目的灵活的上采用完全的模块化结构,可以根据硬件平台和应用目的灵活的进行定制。对于应用程序的开发者来说,进行定制。对于应用程序的开发者来说,Windows CE.NET Windows CE.NET 提供提供了同了同 Windows Windows 环境相似的各种开发环境。环境相似的各种开发环境。Microsoft Win32 APIMicrosoft Win32 API、ActiveX ActiveX 控件、消息队列、控件、消息队列、COM COM 接口、接口、ATL ATL 和和MFCMFC,这对于提高,这对于提高编程者的效率和从其他编程者的效率和从其他 Windows Windows 平台上移植成功的应用程序很平台上移植成功的应用程序很有好处。有好处。Windows CE.NET Windows CE.NET 内建了对多媒体、通信(内建了对多媒体、通信(TCP/IPTCP/IP、SNMPSNMP、TAPI TAPI 等)和安全的支持,并且提供了等)和安全的支持,并且提供了Windows Windows 用户熟悉用户熟悉的常用的应用程序。的常用的应用程序。Windows CE Windows CE 通过通过 ActiveSync ActiveSync 实现了目标实现了目标设备同台式计算机之间的通信。设备同台式计算机之间的通信。251 1)NAND FlashROMNAND FlashROM存储空间的分配存储空间的分配 系统核心板上使用系统核心板上使用 NAND FlashROM NAND FlashROM芯片内部分为芯片内部分为4 4个平面,每个平面,每个平面包含个平面包含10241024个块,每块包含个块,每块包含3232页,每页页,每页512512字节。芯片的读字节。芯片的读写以页为单位,擦除以块为单位。故存储器的分配以块为单位写以页为单位,擦除以块为单位。故存储器的分配以块为单位(16KB)(16KB)。存储器分为两个大小相同的大区。存储器分为两个大小相同的大区,即系统区和用户区,即系统区和用户区,均为均为20482048块。用户区供用户保存用户程序和数据使用。系统区又块。用户区供用户保存用户程序和数据使用。系统区又具体分为三个区段:具体分为三个区段:(1 1)NBootNBoot区(区(0-10-1块):块):大小为大小为2 2块(块(32KB32KB),其前),其前4KB4KB是系统启动代码,用于引导是系统启动代码,用于引导EBootEBoot(调试状态)或者(调试状态)或者Windows CEWindows CE(发行状态)内核,其他部(发行状态)内核,其他部分可以保存启动中可能需要的程序或者数据。分可以保存启动中可能需要的程序或者数据。(2 2)EBootEBoot区(区(2-82-8块):块):大小为大小为7 7块(块(112K112K),一般在调试时使用,主要作用是格式化),一般在调试时使用,主要作用是格式化NAND FlashNAND Flash,通过网络下载,通过网络下载Windows CEWindows CE内核等。内核等。(3 3)Windows CEWindows CE区(其他块):保存区(其他块):保存Windows CEWindows CE的系统文件。的系统文件。9.3.1 Win CE9.3.1 Win CE操作系统的定制和实现操作系统的定制和实现262 2)Win CEWin CE操作系统的定制和实现操作系统的定制和实现 搭建基于搭建基于Windows CEWindows CE操作系统的平台需要完成以下主操作系统的平台需要完成以下主要步骤:要步骤:(1 1)导入和硬件平台相关的)导入和硬件平台相关的.cec.cec文件;文件;(2 2)利用标准开发向导,根据)利用标准开发向导,根据Windows CEWindows CE的架构创建一的架构创建一个平台;个平台;(3 3)利用附加项和目录特征客户化平台;)利用附加项和目录特征客户化平台;(4 4)为特定的目标设备创建一个自引导程序和板级支持)为特定的目标设备创建一个自引导程序和板级支持包(包(Board Suport PackageBoard Suport Package););(5 5)加入)加入BSPBSP文件编译操作系统镜像文件,通过以太网将文件编译操作系统镜像文件,通过以太网将镜像文件下载到目标设备,并调试平台。镜像文件下载到目标设备,并调试平台。(6 6)平台搭建并调试成功,为平台应用程序开发者导出)平台搭建并调试成功,为平台应用程序开发者导出软件开发工具包(软件开发工具包(SDKSDK)。)。这样程序开发者就可以利用这样程序开发者就可以利用EVCEVC开发应用软件了。开发应用软件了。27 通通常常,在在开开发发平平台台的的时时候候,首首先先将将OSOS镜镜像像文文件件下下载载到到一一个个硬硬件件平平台台,比比如如基基于于PCPC硬硬件件的的Windows Windows CECE开开发发平平台台(CEPCCEPC)。Platform Platform BuilderBuilder包包含含了了CEPCCEPC和和很很多多其其他他硬硬件件开开发发平平台台的的自自引引导导程程序序和和板板级级支支持持包包(BSPsBSPs)。在在硬硬件件开开发发平平台台上上把把平平台台提提炼炼和和调调试试之之后后使使之之适适合合目目标标设设备备的的要要求求。在在下下载载镜镜像像文文件件到到目目标标设设备备前前要要先先创创建建自自引引导装入程序和原始设备制造商(导装入程序和原始设备制造商(OEMOEM)适应层()适应层(OALOAL)。)。OALOAL是是介介于于内内核核和和目目标标平平台台固固件件之之间间的的一一个个层层。为为了了使使Windows Windows CECE系系统统能能够够运运行行在在多多种种硬硬件件平平台台上上,微微软软又又提提出出了了一一个个新新的的概概念念OEMOEM适适配配层层(OAL)(OAL)。这这个个OEMOEM适适配配层层(OAL)(OAL)处处于于Windows Windows CECE内内核核和和硬硬件件平平台台中中间间,它它可可以以将将特特定定设设备备的的硬硬件件特特性性与与Windows Windows CECE内内核核功功能能隔隔离离开开,从从而而使使Windows Windows CECE的的内内核核可可以以通通过过这这个个硬硬件件隔隔离离层层提提供供的的标标准准抽抽象象接接口口来来实实现现与与硬硬件件平平台台的的通通讯讯。OALOAL的的存存在在可可以以隐隐藏藏各各种种与与硬硬件件有有关关的的细细节节,屏屏蔽蔽不不同同平平台台硬硬件件的的差差异异,保保证证Windows Windows CECE上上层层内内核核的的独独立立性性,从从而而增增强了整个系统的可移植性。强了整个系统的可移植性。28 这这一一特特性性对对于于Windows Windows CECE上上层层应应用用设设计计的的程程序序员员来来说说无无疑疑是是一一个个福福音音,但但是是对对于于Windows Windows CECE在在特特定定平平台台的的移移植植以以及及底底层层硬硬件件驱驱动动设设计计的的开开发发者者来来说说,却却面面临临着着巨巨大大的的困困难难。面面对对一一个个结结构构复复杂杂、功功能能强强大大、设设计计先先进进的的操操作作系系统统,如如何何全全面面认认识识OALOAL设设计计结结构构、如如何何实实现现OALOAL与与特特定定硬硬件件平平台台正正确确交交互互以以及及如如何何建建立立OALOAL与与上上层层内内核核连连接接等等关关键键技技术术,在在系系统统设设计计和和移移植植时时都都是是一一个个严严峻峻的的考考验验。OALOAL提提供供的的功功能能与与底底层层硬硬件件的的控控制制和和通通信信密密不不可可分分,不不同同的的硬硬件件平平台台会会有有不不同同的的OALOAL实实现现。与与其其它它处处理理器器平平台台移移植植一一样样,S3C2410S3C2410处处理理器器的的OALOAL需需要要在在系系统统体体系系结结构构、板级支持包(板级支持包(Board Support PackageBoard Support Package)两个层面实现。)两个层面实现。本本系系统统采采用用的的处处理理器器是是S3C2410S3C2410处处理理器器,这这是是一一款款基基于于ARM ARM V4V4版版本本的的处处理理器器,在在定定制制操操作作系系统统过过程程中中采采用用了了ARM ARM V4V4类类型型的的BSPBSP。在在此此基基础础上上,加加载载开开发发的的本本地地驱驱动动程程序序导导出出的的.cec.cec文文件件到到Platform Platform BuilderBuilder的的CatalogCatalog栏栏下,作为可选组件供操作系统选择。下,作为可选组件供操作系统选择。29 由由于于Windows Windows CECE内内核核通通常常为为20M-30M20M-30M字字节节,在在调调试试机机器器时时要要经经常常地地将将如如此此巨巨大大的的数数据据下下载载到到RAMRAM中中,传传输输效效率率是是最最关关键键的的问问题题。Platform Platform BuilderBuilder的的下下载载服服务务提提供供了四种方式:了四种方式:(1 1)实实时时仿仿真真下下载载服服务务:它它启启动动仿仿真真器器并并且且在在仿仿真真器器上上引引导导操操作作系系统统的的镜镜像像文文件件。仿仿真真下下载载服服务务不不需需要要通通讯讯硬硬件件,因因为为仿仿真真器器是是在在开开发发工工作作站站上上运运行行的的。这这是是Platform Platform Builder Builder 4.04.0版版本本开开始始提提供供的的一一个个新新技技术术。仿仿真真器器比比目目标标设设备备硬硬件件有有着着更更高高的的容容错错性性。可可以以监监控控目目标标板程序运行的各种状态。板程序运行的各种状态。(2 2)以以太太网网下下载载服服务务:它它通通过过以以太太网网连连接接利利用用Windows Windows CECE的的自自引引导导装装入入程程序序(EBootEBoot)下下载载操操作作系系统统镜镜像像文文件件。这这种种服服务务方方式式需需要要在在开开发发工工作作站站上上有有一一个个以以太太网网卡卡,目目标标机机上上一一个个调调试试用用的的以以太太网网卡卡。利利用用以以太太网网下下载载服服务务,所所有有连连接接到到目目标标设设备备的的应应用用程程序序和和工工具具都都可可以以通通过过一一条条简单的网线来通讯。简单的网线来通讯。30 (3 3)并并行行下下载载服服务务:也也利利用用WinCEWinCE的的自自引引导导程程序序,然然后后通通过过并并行行口口连连接接下下载载操操作作系系统统的的镜镜像像文文件件。但但是是,在在并行下载服务里没有与之对应的内核传输。并行下载服务里没有与之对应的内核传输。(4 4)串串行行下下载载服服务务:串串行行下下载载服服务务是是通通过过串串行行口口由由Win Win CECE自自引引导导装装入入程程序序通通过过串串行行口口连连接接下下载载操操作作系系统统镜镜像像文文件件。在在这这种种服服务务里里,无无法法在在运运行行时时配配置置设设备备方方的的设设置置。但但是是可可以以修修改改并并重重新新编编译译操操作作系系统统镜镜像像文文件件代代码码来来改改变变波波特特率率。如如果果采采用用串串口口下下载载,假假设设采采用用最最高高传传输输速速率率115200bps115200bps,那那么么在在20M20M的的数数据据下下载载则则需需要要大大约约2323分分钟钟,故所需时间较长。故所需时间较长。在在实实际际系系统统开开发发过过程程中中,用用以以太太网网连连接接来来下下载载操操作作系系统统的的镜镜像像文文件件。系系统统自自引引导导装装入入程程序序(EBootEBoot)与与运运行行在在开开发发工工作作站站上上的的Platform Platform BuilderBuilder通通信信,下下载载镜镜像像文文件件和和设设置置调调试试服服务务。以以太太网网连连接接通通过过以以太太网网服服务务可可以以提提供供更更快快的的传传输输速速度度和和更更有有效效的的集集成成功功能能。串串行行连连接接和和并并行行连连接接相相对对以以太太网网连连接接速速度度慢慢,效效率率比比较较低低,只只在在监监视调试过程的时候偶尔用上。视调试过程的时候偶尔用上。313 3)Windows CE Windows CE的启动过程的启动过程(1 1)在核心板上,将系统设置为)在核心板上,将系统设置为NAND FlashROMNAND FlashROM启动方式,启动方式,即即OMlOMl:00设置为设置为0000;(2 2)上电复位后,系统自动将)上电复位后,系统自动将NAND FlashROMNAND FlashROM内的前内的前4KB4KB字节(字节(NBootNBoot)拷贝到)拷贝到boot SRAMboot SRAM中,执行中,执行boot SRAMboot SRAM中中代码。如果需要(代码。如果需要(NBoot 4KBNBoot 4KB),将),将NBootNBoot区数据拷贝区数据拷贝到到SDRAMSDRAM中,再执行中,再执行NBootNBoot;(3 3)如果设置为调试状态,)如果设置为调试状态,NBootNBoot将将EBootEBoot区数据装入区数据装入SDRAMSDRAM,执行,执行EBootEBoot,EBootEBoot程序按照用户的指令通过以程序按照用户的指令通过以太网下载太网下载Windows CEWindows CE镜像文件,并将镜像文件写入镜像文件,并将镜像文件写入Windows CEWindows CE区段;区段;(4 4)NBootNBoot或者或者EBootEBoot将将Windows CEWindows CE区段数据装入区段数据装入SDRAMSDRAM,引导引导Windows CEWindows CE操作系统。操作系统。32 本本系系统统配配置置为为NAND NAND FlashROMFlashROM启启动动,系系统统上上 电电 复复 位位 后后,boot boot SDRAMSDRAM被被 映映 射射 到到 地地 址址0 x000000000 x00000000,系系统统自自动动将将NAND NAND FlashFlash中中的的前前4KB4KB代代码码拷拷贝贝到到boot boot SDRAMSDRAM中中,开开始始执执行行boot boot SRAMSRAM中中的的代代码码,即即NBootNBoot程程序序。系系统统执执行行的的第第一一行行代代码码即即为为NBootNBoot的的第第一一行行代代码码。NBootNBoot的的功功能能比比较较简简单单,只只是是用用于于初初始始化化系系统统,将将复复杂杂的的系统软件装入系统软件装入SDRAMSDRAM,之后就交出控制权。,之后就交出控制权。339.3.29.3.2盘点系统驱动程序的开发盘点系统驱动程序的开发 1 1)Windows CE Windows CE 驱动模型驱动模型要把要把Windows CEWindows CE移植到目标平台上,必须为在移植到目标平台上,必须为在硬件平台上的硬件设备提供驱动程序。通过设硬件平台上的硬件设备提供驱动程序。通过设备驱动程序可以将操作系统和外部设备连接起备驱动程序可以将操作系统和外部设备连接起来,使得操作系统能够识别这些设备,并为应来,使得操作系统能够识别这些设备,并为应用程序提供设备服务。就像其它操作系统一样,用程序提供设备服务。就像其它操作系统一样,Windows CEWindows CE支持广泛的基于各种支持广泛的基于各种CECE平台的设备平台的设备驱动程序,同时也提供一些用于驱动程序开发驱动程序,同时也提供一些用于驱动程序开发的模型的模型(model)(model)。34 Windows CE Windows CE 的设备驱动设备模型有两种形式:流接的设备驱动设备模型有两种形式:流接口驱动口驱动(Stream Interface Driver)(Stream Interface Driver)和本地设备驱动和本地设备驱动(Native Device Driver)Native Device Driver)。两者的差别在于它们向上。两者的差别在于它们向上层提供的编程接口不同,流接口驱动提供一组统一格式层提供的编程接口不同,流接口驱动提供一组统一格式的流接口,而本地设备驱动则根据具体设备的需求提供的流接口,而