嵌入式系统-应用实例

上传人:马*** 文档编号:240691931 上传时间:2024-04-30 格式:PPT 页数:46 大小:1.14MB
返回 下载 相关 举报
嵌入式系统-应用实例_第1页
第1页 / 共46页
嵌入式系统-应用实例_第2页
第2页 / 共46页
嵌入式系统-应用实例_第3页
第3页 / 共46页
点击查看更多>>
资源描述
第第9 9章开发应用实例章开发应用实例9.1 9.1 概述概述 随随着着现现代代物物流流业业仓仓储储、超超市市等等行行业业的的快快速速发发展展,物物品品流流动动的的速速度度越越来来越越快快,仓仓储储库库存存周周期期也也越越来来越越短短。这这样样物物流流仓仓储储盘盘点点行行业业的的压压力力也也越越来来越越大大,传传统统的的人人工工盘盘点点方方式式已已经经不不能能适适应应现现代代物物流流的的发发展展。为为了了解解决决这这一一问问题题,国国际际上上一一些些物物流流先先进进国国家家已已经经采采用用专专业业的的盘盘点点设设备备盘盘点点机机,用于物流盘点。用于物流盘点。我我们们在在设设计计时时采采用用了了目目前前流流行行的的嵌嵌入入式式微微处处理理器器作作为为系系统统核核心心部部件件。其其微微处处理理器器选选型型是是采采用用韩韩国国三三星星公公司司生生产产的的S3C2410S3C2410微微处处理理器器,操操作作系系统统采采用用了了Windows Windows CE CE.NET.NET 4.24.2嵌嵌入入式式操操作作系系统统。整整个个系系统统的的硬硬件件部部分分主主要要分分为为三三个个大的模块:核心板、系统板和专用键盘及大的模块:核心板、系统板和专用键盘及 LCDLCD显示器。显示器。1 在在核核心心板板上上集集成成了了微微处处理理器器、64MB 64MB SDRAMSDRAM和和64MB 64MB NAND NAND FlashFlash模模块块及及部部分分支支持持电电路路。在在系系统统板板上上设设计计有有与与核核心心板板连连接接的的接接口口,同同时时又又集集成成有有显显示示器器接接口口,以以太太网网接接口口,USBUSB接接口口,串串口口,CFCF卡卡和和IrDAIrDA条条形形码码扫扫描描接接口口等等各各种种外外设设及及以以相相应应的的控控制制部部件件,另另外外还还有有电电源源管管理理与与转转换换等等一一些些附附属属电电路路。3131键键的的专专用用键键盘盘是是采采用用超超低低功功耗耗的的MSP430MSP430单单片片机机作作为为控控制制器器来来对对键键盘盘进进行行编编解解码码,通通过过自自定定义义的的串串行行键键盘盘口口接接入入系系统统板板。显显示示部部分分是采用是采用192*64 LCD192*64 LCD字符型显示器。字符型显示器。本本章章首首先先介介绍绍了了系系统统硬硬件件部部分分设设计计及及工工作作原原理理,在在软软件件部部分分介介绍绍了了Windows Windows CECE操操作作系系统统的的移移植植和和定定制制,驱驱动动程程序序和和支支持持软软件件的的编编制制。盘盘点点机机除除了了支支持持常常用用的的设备,还需要支持串口条形码扫描仪,设备,还需要支持串口条形码扫描仪,CFCF卡等设备。卡等设备。2实物图片实物图片便携式盘点设备外观39.2 9.2 硬件平台的设计硬件平台的设计 嵌入式设备的硬件架构一般都是以嵌入式微处理嵌入式设备的硬件架构一般都是以嵌入式微处理器为核心,通过处理器接口扩展以及系统硬件的支持,器为核心,通过处理器接口扩展以及系统硬件的支持,把众多的外设单元集成到整个系统中,并通过把众多的外设单元集成到整个系统中,并通过CPLD CPLD 等等逻辑转换器件和其它硬件电路完成对外设模块进行读逻辑转换器件和其它硬件电路完成对外设模块进行读写和控制操作。写和控制操作。物流盘点机物流盘点机系统硬件原理框图如图系统硬件原理框图如图9-1abc9-1abc所示,所示,硬件部分主要包含有核心板,系统板和专用键盘及硬件部分主要包含有核心板,系统板和专用键盘及 LCDLCD显示器三个部分。显示器三个部分。1 1)系统核心板简介)系统核心板简介 核心板是整个系统的核心,集成了盘点机系统的核心板是整个系统的核心,集成了盘点机系统的微处理器、微处理器、SDRAMSDRAM单元、单元、NAND FlashNAND Flash单元以及它们所需单元以及它们所需要的辅助部件,如晶体振荡器(要的辅助部件,如晶体振荡器(12MHZ12MHZ和和32KHZ32KHZ两组),两组),电源模块等等。核心板电源模块等等。核心板图和图和PCBPCB板图板图如图如图9.1b,c9.1b,c所示。所示。4 图图9.19.1a a硬件平台示意图硬件平台示意图5 2 2)FlashROMFlashROM程序存储器程序存储器 在核心板中,微处理器采用的是基于在核心板中,微处理器采用的是基于ARM920TARM920T核的核的S3C2410S3C2410微处理器。系统的程序存储器采用的是微处理器。系统的程序存储器采用的是NAND NAND FlashFlash,芯片的型号是,芯片的型号是SamsungSamsung公司的公司的K9F1208K9F1208,容量为,容量为64MB64MB,NAND FlashROM NAND FlashROM 接口电路原理如图接口电路原理如图9-29-2所示。所示。它按页进行自动编程,每一页大小为它按页进行自动编程,每一页大小为528528(512+16512+16)字节,编程的典型时间为)字节,编程的典型时间为200s200s。擦除则。擦除则按照块进行,每一块的大小为按照块进行,每一块的大小为1616K K字节,典型的擦除时字节,典型的擦除时间为间为2 2msms。它在页面中读取单个数据的时间为。它在页面中读取单个数据的时间为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被用被用作装载操作系统镜像以及大容量的数据存储,同时也是作装载操作系统镜像以及大容量的数据存储,同时也是系统启动存储器。系统启动存储器。6图图9.1b 9.1b 核心板部分的示意图核心板部分的示意图 核心板是整个系统的核心,集成了盘点机核心板是整个系统的核心,集成了盘点机系统的处理器,系统的处理器,SDRAMSDRAM单元,单元,NAND FlashNAND Flash单单元以及它们所需要的辅助部件元以及它们所需要的辅助部件 7图图9.1c 9.1c 核心板核心板PCBPCB图(图(6 6层)层)8图图9-2 NAND FlashROM9-2 NAND FlashROM的原理图的原理图9 3)SDRAM3)SDRAM随机存储器随机存储器 SDRAMSDRAM被用来运行操作系统以及各类数据的缓被用来运行操作系统以及各类数据的缓存,图存,图9-39-3是核心板是核心板 SDRAM SDRAM 接口部分的原理图,接口部分的原理图,系统采用两片系统采用两片HY57V561620 16M16Bit SDRAMHY57V561620 16M16Bit SDRAM芯芯片,共同组成片,共同组成32Bit32Bit数据宽度,数据宽度,64MB64MB内存。内存。HY57V561620HY57V561620是一款是一款4Banks4M16Bit4Banks4M16Bit的的SDRAMSDRAM芯片,采用芯片,采用3.33.3V V电源供电,比较适合嵌入电源供电,比较适合嵌入式系统。式系统。SDRAMSDRAM与其它的与其它的RAMRAM相比,有许多独特的相比,有许多独特的优点,容量大,功耗低,速度快,最快可以工作优点,容量大,功耗低,速度快,最快可以工作在在166MHz166MHz频率下,通常存储时间为频率下,通常存储时间为10ns10ns。在高速。在高速存储系统中存储系统中SDRAMSDRAM是必不可少的外部存储设备。是必不可少的外部存储设备。SDRAMSDRAM通过通过S3C2410S3C2410片内的片内的SDRAMSDRAM控制器来管理,控制器来管理,SDRAMSDRAM挂接在挂接在BANK6BANK6上。上。10图图9-39-3核心板核心板SDRAMSDRAM部分的原理电路图部分的原理电路图11 4 4)核心板电源)核心板电源 图图9-49-4是是核核心心板板电电源源部部分分的的原原理理电电路路图图。图图中中,采采用用MIC5207MIC5207电电源源芯芯片片将将来来自自系系统统板板的的3.33.3V V电电压压转转换换为为两两组组1.81.8V V电电压压供供给给处处理理器器内内核核使使用用。核核心心板板上上还还有有一一些些辅辅助助电电路路,包包括括上上拉拉电电阻阻,滤滤波波电电容容,以以及及供供处处理理器器使使用用的的主主时时钟钟晶晶振振,供供外外设设适适用用的的辅辅助助时时钟钟晶晶振振等等,它它们们一一起起构构成成了了ARMARM的的最最小小硬硬件件系系统统板板。系系统统所所使使用用的的S3C2410S3C2410处处理理器器是是一一款款FBGAFBGA封封装装的的高高速速处处理理器器,运运行行时时钟钟频频率率为为203MHz203MHz,这这种种FBGAFBGA封封装装的的高高速速处处理理器器需需要要使使用用多多层层电电路路板板设设计计。本本系系统统核核心心板板工工作作在在高高速速信信号号下下,为为了了布布线线方方便便,减减少少干干扰扰,采采用用了了六六层层电电路路板板设设计计,第第二二层层为为接接地地面面,四四层层为为电电源源面面,其其他他各各层层为为信信号号层层。核核心心板板通通过过标标准准144144芯芯SIMMSIMM插插座座与与母母板板连连接接。核核心心板板是是一一个个最最小小的的ARM9ARM9硬硬件件系系统统板板,具具有有较较好好的的通通用用性性,可可以以作作为为不不同同产产品开发设计的基础。品开发设计的基础。12 图图9.4 9.4 电源原理图电源原理图139.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卡接口。卡接口。14 系系统统板板上上的的网网络络接接口口芯芯片片采采用用CS8900CS8900网网络络接接口口芯芯片片。CS8900CS8900芯芯片片是是Cirrus Cirrus LogicLogic公公司司生生产产的的一一种种局局域域网网处处理理芯芯片片,它它的的封封装装是是100-pin 100-pin TQFPTQFP,内内部部集集成成了了在在片片RAMRAM、10BASE-T10BASE-T收收发发滤滤波波器器,并并且且提提供供8 8位位和和1616位位两两种种接接口口。本本系系统统中中采采用用1616位位接接口口方方式式。以以太太网网接接口口原原理理图图如如图图9-6 9-6 所所示示,图图中中HR601627HR601627是是一一种种脉脉冲冲变变压压器器,在在CS8900CS8900的前端对网络信号进行脉冲波形变换。的前端对网络信号进行脉冲波形变换。15 图图9.6 9.6 CS8900CS8900网络接口原理图。网络接口原理图。16 系系统统采采用用了了一一款款专专用用显显示示器器1926419264型型LCDLCD显显示示器器。该该显显示示器器是是一一种种图图形形点点阵阵液液晶晶显显示示器器,它它主主要要由由行行驱驱动动器器、列列驱驱动动器器及及1926419264全全点点阵阵液液晶晶显显示示器器组组成成。可可完完成成图图形形显显示示,也也可可以以显显示示124124个个(16161616点点阵阵 )汉汉字字,采采用用3.33.3V V电电源源供供电电,与与处处理理器器接接口口采采用用8 8位位并并行行输输入入输输出出数数据据总总线线和和8 8条条控控制制线线。S3C2410S3C2410处处理理器器内内部部集集成成了了LCDLCD控控制制器器,但但是是该该控控制制器器不不支支持持用用户户选选定定的的显显示示器器,只只能能采采用用其其他他方方式式接接入入该该款款显显示示器器,实实际际采采用用的的是直接挂接到处理器的通用是直接挂接到处理器的通用I/OI/O口上的方式。口上的方式。17 S3C2410S3C2410中集成了中集成了3.3V TTL 3.3V TTL 电平的串行接口,电平的串行接口,可以直接使用。为了与标准可以直接使用。为了与标准RS232CRS232C串行设备通信,串行设备通信,采用了一块采用了一块SP3243SP3243芯片用于电平的转换,构成了芯片用于电平的转换,构成了一个比较完整的串口。一个比较完整的串口。在盘点机的实际应用中,需要外接串行口的在盘点机的实际应用中,需要外接串行口的条形码扫描仪,该扫描仪采用标准串口条形码扫描仪,该扫描仪采用标准串口9 9针针D D型插型插座,工作时需要通过串口第九针外接座,工作时需要通过串口第九针外接5 5V V电源。为电源。为了方便使用该款扫描仪,设计时对串行接口进行了方便使用该款扫描仪,设计时对串行接口进行了改进,在串口第九针上采用电子开关叠加可控了改进,在串口第九针上采用电子开关叠加可控的的5 5V V电源。在作为标准串口使用时,电源。在作为标准串口使用时,5 5V V电源和第电源和第九针断开。当外接扫描仪时第九针接入九针断开。当外接扫描仪时第九针接入5 5V V电源,电源,驱动扫描仪正常工作。串口第九针是否接入驱动扫描仪正常工作。串口第九针是否接入5 5V V电电源在串口驱动程序中实现,应用程序通过串口设源在串口驱动程序中实现,应用程序通过串口设置系统调用函数来控制,接口电路如图置系统调用函数来控制,接口电路如图 9-8 9-8 所所示。示。18图图 9-8 9-8 串行接口电路串行接口电路19 本本系系统统中中所所用用的的设设备备较较多多,其其中中很很多多设设备备需需要要复复位位信信号号来来保保证证正正常常可可靠靠的的复复位位。为为此此,在在系系统统板板上上设设计计了了复复位位信信号号模模块块,该该模模块块采采用用电电阻阻、电电容容和和二二极极管管构构成成一一个个简简单单适适用用的的复复位位电电路路,在在此此基基础础上上采采用用74HC1774HC17芯芯片片进进行行波波形形调调整整、信信号号取取反反继继而而生生成成符符合合设设备备需需要要的的高高、低低电电平平两两组组复复位位信信号号,供供整整个个系系统统使使用用。复复位位电电路路的的原原理理图图见见图图9-9-9 9所示所示 。S3C2410S3C2410处理器片内集成有处理器片内集成有USBUSB接口,故系统接口,故系统板只是简单的将此信号引出。板只是简单的将此信号引出。20图图9.8 9.8 复位电路原理图复位电路原理图 21 盘盘点点机机的的输输入入信信号号则则采采用用外外接接的的串串口口键键盘盘手手动动输输入入和和串串口口条条形形码码扫扫描描仪仪读读入入方方式式。串串口口键键盘盘为为自自行行设设计计的的,适适合合盘盘点点业业需需要要的的专专用用键键盘盘,键键盘盘采采用用了了一一款款1616位位低低功功耗单片机耗单片机MSP430MSP430进行管理。进行管理。使用盘点机的目的是为了提高盘点效率,对于盘点使用盘点机的目的是为了提高盘点效率,对于盘点人员而言,使用最多的就是扫描仪和键盘。扫描仪上只人员而言,使用最多的就是扫描仪和键盘。扫描仪上只有一个按键,使用简单。由于键盘的效率对于提高盘点有一个按键,使用简单。由于键盘的效率对于提高盘点的效率非常重要,所以在盘点机系统中设计一款最合适的效率非常重要,所以在盘点机系统中设计一款最合适盘点使用的键盘是提高盘点效率的重要一环。盘点机是盘点使用的键盘是提高盘点效率的重要一环。盘点机是一款便携式设备,键盘不可能做得很大,另一方面为了一款便携式设备,键盘不可能做得很大,另一方面为了便于盘点人员实现盲打,按键的大小不能太小,特别是便于盘点人员实现盲打,按键的大小不能太小,特别是频繁使用的按键还应该比计算机标准键盘略大。在这种频繁使用的按键还应该比计算机标准键盘略大。在这种情况下,按键的个数就有所限制,经过大量实践,最终情况下,按键的个数就有所限制,经过大量实践,最终的键盘设计采用了的键盘设计采用了3131键的方案。其中字母和数据键在一键的方案。其中字母和数据键在一般情况下作为数字键使用,配合般情况下作为数字键使用,配合ShiftShift按键输入字母,按键输入字母,图图9-109-10为键盘部分的框图。为键盘部分的框图。9.2.39.2.3专用键盘的设计专用键盘的设计22 同同时时,为为了了使使用用方方便便,键键盘盘上上还还设设置置了了系系统统休休眠眠、唤唤醒醒按按键键,与与键键盘盘接接口口一一起起通通过过排排线线接接入入系系统统板板。键键盘盘所所用用的的控控制制器器为为MSP430F149MSP430F149,这这是是TITI公公司司推推出出的的一一种种具具有有1616位位RISCRISC结结构构、超超低低功功耗耗的的工工业业级级混混合合信信号号控控制制器器。这这些些控控制制器器被被设设计计为为可可用用电电池池工工作作,而而且且可可以以有有很很长长使使用用时时间间的的应应用用。CPUCPU中中的的1616个个寄寄存存器器和和常常数数发发生生器器使使MSP430MSP430微微控控制制器器能能达达到到最最高高的的代代码码效效率率,灵灵活活的的时时钟钟源源可可以以使使器器件件达达到到最最低低的的功功率率消消耗耗,数数字字控控制制的的振振荡荡器器(DCODCO)可可使使器器件件从从低低功功耗耗模模式式迅迅速速唤唤醒醒,在在少少于于66s s的的时时间间内内激激活活到到活活跃跃的的工工作作方方式式。程程序序中中使使用用MSP430F149MSP430F149的的外外部部中中断断I/OI/O口口作作为为键键盘盘扫扫描描的的信信号号线线,经经过过编编码码后后,通通过过片片内内内内置置的的串串口口输输出出到到系系统统板板。该该芯芯片片在在1.8-3.61.8-3.6V V电电压压,1MHz1MHz的的时时钟钟条条件件下下运运行行,耗耗电电电电流流在在0.1-4000.1-400A A之之间间(因因不不同同的的工工作作模模式式而而不不同同)。CPUCPU平平时时至至于于节节电电模模式式,按按键键时时触触发发中中断断信信号号,CPUCPU立立即即被被唤唤醒醒,处处理理完完键盘事件后,键盘事件后,CPUCPU再次进入省电模式。再次进入省电模式。23图图9-109-10为键盘部分的框图为键盘部分的框图 24系统 板图10M以太网网卡CS8900条形码扫描仪RS232接口网络传输RJ45接口JTAG调试接口键盘RS232接口LCD显示器接口电源模块MAX603259.3 9.3 软件系统的设计软件系统的设计 系系统统的的软软件件系系统统主主要要包包括括嵌嵌入入式式操操作作系系统统选选型型、定定制制及及裁裁减减、硬件驱动程序和用户应用程序方面。硬件驱动程序和用户应用程序方面。9.3.19.3.1操作系统的定制与实现操作系统的定制与实现 Window Window CE CE 具具有有良良好好的的图图形形交交互互界界面面,便便于于开开发发调调试试上上层层图图形形应用程序,所以本便携式盘点机的操作系统选用了应用程序,所以本便携式盘点机的操作系统选用了Windows CEWindows CE。MicrosoftMicrosoft Windows CE.NET 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 实现了目标实现了目标设备同台式计算机之间的通信。设备同台式计算机之间的通信。261 1)NAND NAND FlashROMFlashROM存储空间的分配存储空间的分配 系统核心板上使用系统核心板上使用 NAND NAND FlashROMFlashROM芯片内部分为芯片内部分为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 Win9.3.1 Win CE CE操作系统的定制和实现操作系统的定制和实现272 2)WinWin CE CE操作系统的定制和实现操作系统的定制和实现 搭建基于搭建基于Windows CEWindows CE操作系统的平台需要完成以下主操作系统的平台需要完成以下主要步骤:要步骤:(1 1)导入和硬件平台相关的导入和硬件平台相关的.ceccec文件;文件;(2 2)利用标准开发向导,根据利用标准开发向导,根据Windows CEWindows CE的架构创建一的架构创建一个平台;个平台;(3 3)利用附加项和目录特征客户化平台;利用附加项和目录特征客户化平台;(4 4)为特定的目标设备创建一个自引导程序和板级支持为特定的目标设备创建一个自引导程序和板级支持包(包(Board Board SuportSuport Package Package););(5 5)加入加入BSPBSP文件编译操作系统镜像文件,通过以太网将文件编译操作系统镜像文件,通过以太网将镜像文件下载到目标设备,并调试平台。镜像文件下载到目标设备,并调试平台。(6 6)平台搭建并调试成功,为平台应用程序开发者导出平台搭建并调试成功,为平台应用程序开发者导出软件开发工具包(软件开发工具包(SDKSDK)。)。这样程序开发者就可以利用这样程序开发者就可以利用EVCEVC开发应用软件了。开发应用软件了。28 通通常常,在在开开发发平平台台的的时时候候,首首先先将将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上上层层内内核核的的独独立立性性,从从而而增增强了整个系统的可移植性。强了整个系统的可移植性。29 这这一一特特性性对对于于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栏栏下,作为可选组件供操作系统选择。下,作为可选组件供操作系统选择。30 由由于于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)下下载载操操作作系系统统镜镜像像文文件件。这这种种服服务务方方式式需需要要在在开开发发工工作作站站上上有有一一个个以以太太网网卡卡,目目标标机机上上一一个个调调试试用用的的以以太太网网卡卡。利利用用以以太太网网下下载载服服务务,所所有有连连接接到到目目标标设设备备的的应应用用程程序序和和工工具具都都可可以以通通过过一一条条简单的网线来通讯。简单的网线来通讯。31 (3 3)并并行行下下载载服服务务:也也利利用用WinCEWinCE的的自自引引导导程程序序,然然后后通通过过并并行行口口连连接接下下载载操操作作系系统统的的镜镜像像文文件件。但但是是,在在并行下载服务里没有与之对应的内核传输。并行下载服务里没有与之对应的内核传输。(4 4)串串行行下下载载服服务务:串串行行下下载载服服务务是是通通过过串串行行口口由由Win Win CECE自自引引导导装装入入程程序序通通过过串串行行口口连连接接下下载载操操作作系系统统镜镜像像文文件件。在在这这种种服服务务里里,无无法法在在运运行行时时配配置置设设备备方方的的设设置置。但但是是可可以以修修改改并并重重新新编编译译操操作作系系统统镜镜像像文文件件代代码码来来改改变变波波特特率率。如如果果采采用用串串口口下下载载,假假设设采采用用最最高高传传输输速速率率115200bps115200bps,那那么么在在2020M M的的数数据据下下载载则则需需要要大大约约2323分分钟钟,故所需时间较长。故所需时间较长。在在实实际际系系统统开开发发过过程程中中,用用以以太太网网连连接接来来下下载载操操作作系系统统的的镜镜像像文文件件。系系统统自自引引导导装装入入程程序序(EBootEBoot)与与运运行行在在开开发发工工作作站站上上的的Platform Platform BuilderBuilder通通信信,下下载载镜镜像像文文件件和和设设置置调调试试服服务务。以以太太网网连连接接通通过过以以太太网网服服务务可可以以提提供供更更快快的的传传输输速速度度和和更更有有效效的的集集成成功功能能。串串行行连连接接和和并并行行连连接接相相对对以以太太网网连连接接速速度度慢慢,效效率率比比较较低低,只只在在监监视调试过程的时候偶尔用上。视调试过程的时候偶尔用上。323 3)Windows CEWindows CE的启动过程的启动过程(1 1)在核心板上,将系统设置为)在核心板上,将系统设置为NAND NAND FlashROMFlashROM启动方式,启动方式,即即OMlOMl:00设置为设置为0000;(2 2)上电复位后,系统自动)上电复位后,系统自动将将NAND NAND FlashROMFlashROM内的前内的前4KB4KB字节(字节(NBootNBoot)拷贝到拷贝到boot SRAMboot SRAM中,执行中,执行boot SRAMboot SRAM中中代码。如果需要(代码。如果需要(NBootNBoot 4KB 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操作系统。操作系统。33 本本系系统统配配置置为为NAND NAND FlashROMFlashROM启启动动,系系统统上上 电电 复复 位位 后后,boot boot SDRAMSDRAM被被 映映 射射 到到 地地 址址0 x000000000 x00000000,系系统统自自动动将将NAND NAND FlashFlash中中的的前前4KB4KB代代码码拷拷贝贝到到boot boot SDRAMSDRAM中中,开开始始执执行行boot boot SRAMSRAM中中的的代代码码,即即NBootNBoot程程序序。系系统统执执行行的的第第一一行行代代码码即即为为NBootNBoot的的第第一一行行代代码码。NBootNBoot的的功功能能比比较较简简单单,只只是是用用于于初初始始化化系系统统,将将复复杂杂的的系统软件装入系统软件装入SDRAMSDRAM,之后就交出控制权。,之后就交出控制权。349.3.29.3.2盘点系统驱动程序的开发盘点系统驱动程序的开发 1 1)Windows CE Windows CE 驱动模型驱动模型要把要把Windows CEWindows CE移植到目标平台上,必须为在移植到目标平台上,必须为在硬件平台上的硬件设备提供驱动程序。通过设硬件平台上的硬件设备提供驱动程序。通过设备驱动程序可以将操作系统和外部设备连接起备驱动程序可以将操作系统和外部设备连接起来,使得操作系统能够识别这些设备,并为应来,使得操作系统能够识别这些设备,并为应用程序提供设备服务。就像其它操作系统一样,用程序提供设备服务。就像其它操作系统一样,Windows CEWindows CE支持广泛的基于各种支持广泛的基于各种CECE平台的设备平台的设备驱动程序,同时也提供一些用于驱动程序开发驱动程序,同时也提供一些用于驱动程序开发的模型的模型(model)(model)。35 WindowsWindows CE CE 的设备驱动设备模型有两种形式:流接的设备驱动设备模型有两种形式:流接口驱动口驱动(Stream Interface Driver)(Stream Interface Driver)和本地设备驱动和本地设备驱动(Native Device Driver Native Device Driver)。两者的差别在于它们向上两者的差别在于它们向上层提供的编程接口不同,流接口驱动提供一组统一格式层提供的编程接口不同,流接口驱动提供一组统一格式的流接口,而本地设备驱动则根据具体设备的需求提供的流接口,而本地设备驱动则根据具体设备的需求提供相应合适的接口。所有的设备驱动都是以动态链接库相应合适的接口。所有的设备驱动都是以动态链接库(DLL)DLL)的方式实现和加载。的方式实现和加载。Windows CE Windows CE 中的许多模块都中的许多模块都可以管理设备驱动程序。例如与用户界面有关的可以管理设备驱动程序。例如与用户界面有关的GWES GWES 模块管理键盘、鼠标、显示和电源等驱动程序;设备管模块管理键盘、鼠标、显示和电源等驱动程序;设备管理理(Device Manager)(Device Manager)根据注册表中的内容管理注册过根据注册表中的内容管理注册过的设备驱动程序,如串口驱动。的设备驱动程序,如串口驱动。在盘点机系统中,内部建立了设备的驱动程序,如在盘点机系统中,内部建立了设备的驱动程序,如显示设备显示设备LCDLCD,采用本地设备驱动方式,通过移植定、,采用本地设备驱动方式,通过移植定、制微软提供的驱动例程实现。其它外部设备,如串口、制微软提供的驱动例程实现。其它外部设备,如串口、USB Client USB Client,采用流接口驱动实现。通过已经定义好,采用流接口驱动实现。通过已经定义好的流接口函数应用程序可以用文件访问的方式访问接口的流接口函数应用程序可以用文件访问的方式访问接口设备,如用户可以像文件操作一样读写串行口。设备,如用户可以像文件操作一样读写串行口。362)电源管理)电源管理 移动设备的电源管理方式会对用户使用移动移动设备的电源管理方式会对用户使用移动设备产生很大的影响,因此在设备产生很大的影响,因此在CPU CPU 及电路提供了及电路提供了电源管理硬件支持的基础上,在操作系统中采用电源管理硬件支持的基础上,在操作系统中采用一套有效的电源管理方案也是非常重要的。当成一套有效的电源管理方案也是非常重要的。当成功的运行电源管理模块时,移动设备用户可以在功的运行电源管理模块时,移动设备用户可以在任何时候长时间便利的使用移动设备,而不会意任何时候长时间便利的使用移动设备,而不会意识到在任何时间都有一个复杂的工程系统正工作识到在任何时间都有一个复杂的工程系统正工作在设备内以保持电池电量。由于移动手持设备在在设备内以保持电池电量。由于移动手持设备在硬件资源和系统结构的特殊要求,同传统硬件资源和系统结构的特殊要求,同传统的的PC PC 机相比嵌入式操作系统对移动设备的电源管理需机相比嵌入式操作系统对移动设备的电源管理需要不同的方法。下面以要不同的方法。下面以Windows CE.NET Windows CE.NET 为例介为例介绍在嵌入式操作系统中电源管理的方案设计。绍在嵌入式操作系统中电源管理的方案设计。37 Windows Windows CE.NET CE.NET 是是通通过过电电源源管管理理器器来来进进行行系系统统的的电电源源管管理理,提提高高整整个个系系统统的的电电源源效效率率,并并为为每每一一个个外外围围设设备备模模块块提提供供电电源源管管理理。通通过过电电源源管管理理不不仅仅可可以以减减少少目目标标设设备备上上的的电电源源损损耗耗,而而且且可可以以在在系系统统重重启启、运运行行、空空闲闲和和挂挂起起的的电电源源状状态态下下保保存存RAM RAM 中中的的文文件件系系统统。电电源源管管理理器器会会同同三三种种不不同同的的客客户户端端程程序序发发生生作作用用,对对于于这这三三种种客户端电源管理器提供了不同的编程接口。客户端电源管理器提供了不同的编程接口。其一电源管理器相关的设备驱动程序。其一电源管理器相关的设备驱动程序。其其二二是是可可以以改改变变系系统统电电源源状状态态或或者者改改变变设设备备性性能能的的应应用用程程序,如一些需要改变系统时钟频率的应用。序,如一些需要改变系统时钟频率的应用。其其三三是是在在电电源源相相关关事事件件发发生生时时需需要要得得到到通通知知的的应应用用程程序序以以及及影影响响系系统统的的电电源源状状态态的的改改变变的的应应用用程程序序,例例如如电电池池电电量低时发出警告的程序。量低时发出警告的程序。38 完完善善的的系系统统电电源源管管理理需需要要每每个个外外设设模模块块的的硬硬件件设设计计以以及及驱驱动动程程序序的的支支持持。支支持持电电源源管管理理的的设设备备驱驱动动程程序序需需完完成成确确保保可可以以在在系系统统枚枚举举时时正正确确报报告告其其电电源源管管理理能能力力,处处理理电电源源管管理理器器发发出出的的电电源源请请求求,在在系系统统启启动动和和从从空空闲闲模模式式退退出出时时尽尽可可能能快快的的完完成成设设备备上上电电过过程程,在在系系统统关关机机或或进进入入空空闲闲模模式式时时使使设设备备下下电电或或进进入入睡睡眠眠模模式式,对对于于支支持持唤唤醒醒能能力力的的设设备备完完成成设设备备的的唤唤醒醒功功能能等等任任务务。对对于于每每一一个个设设备备用用户户都都可可以以在在注注册册表表中中注注册册设设备备驱驱动动所所支支持持的的电电源源状状态态。设设备备的的电电源源状状态态与与系系统统的的电电源源状状态态应应有有一一定定的的对对应应关关系系,且且受受系系统统电电源源状状态态定定义的限制。义的限制。393 3)键盘驱动程序的实现)键盘驱动程序的实现 标准标准Windows CEWindows CE支持两种类型的键盘:支持两种类型的键盘:PS/2PS/2键键盘和矩阵键盘。本项目的键盘为串行接口,实盘和矩阵键盘。本项目的键盘为串行接口,实际占用的是际占用的是UART1UART1,与两种标准类型都不匹配。与两种标准类型都不匹配。分析两种标准分析两种标准Windows CEWindows CE键盘接口之后,决定键盘接口之后,决定在矩阵键盘模型的基础上进行修改,编写驱动在矩阵键盘模型的基础上进行修改,编写驱动程序,满足本项目的需求。程序,满足本项目的需求。Windows Windows CECE系系统统中中断断模模型型分分为为两两个个部部分分,ISRISR和和ISTIST。Windows Windows CECE也也提提供供了了OALOAL层层供供用用户户使使用用,键键盘盘驱驱动动建建立立在在OALOAL和和中中断断模模型型的的基基础础上上。具具体体如下:如下:40(1 1)将将UART1UART1配置为键盘接口;配置为键盘接口;(2 2)修修改改OALOAL层层中中的的系系统统中中断断映映射射代代码码,将将UART1UART1的的硬硬件中断映射为逻辑键盘中断(件中断映射为逻辑键盘中断(SYSINTR_KEYBOARDSYSINTR_KEYBOARD););(3 3)在在键键盘盘中中断断驱驱动动程程序序中中注注册册键键盘盘ISTIST的的中中断断映映射射为为SYSINTR_KEYBOARDSYSINTR_KEYBOARD,将将SYSINTR_KEYBOARDSYSINTR_KEYBOARD映映射射到到事事件件EVENT_KEYBOARDEVENT_KEYBOARD上,等待键盘事件发生;上,等待键盘事件发生;(4 4)EVENT_KEYBOARDEVENT_KEYBOARD事事件件被被触触发发后后,在在底底层层驱驱动动模模块块中中读读取取串串口口键键盘盘代代码码,填填充充键键盘盘码码和和按按键键状状态态所所需需的的数数据,提交给上一级模块;据,提交给上一级模块;(5 5)键键盘盘管管理理模模块块中中修修改改扫扫描描码码到到虚虚键键码码的的转转换换表表,完成扫描码到虚键码的转换。完成扫描码到虚键码的转换。按按照照Windows Windows CECE标标准准的的键键盘盘驱驱动动结结构构编编写写键键盘盘驱驱动动程程序序,编编译译之之后后的的DLLDLL程程序序挂挂入入Windows Windows CECE系系统统,键键盘盘即即可可正正常常工工作作。注注意意,本本系系统统中中小小键键盘盘的的编编码码工工作作由由键键盘盘本本地地的控制器(的控制器(MSP430MSP430)来完成。)来完成。41键盘驱动程序键盘驱动程序KeybdIstLoop(KEYDB_ISTKeybdIstLoop(KEYDB_IST*pKeyDBIstpKeyDBIst)structstruct KEYBD_IST KEYBD_IST HANDLE HANDLE hevInterrupthevInterrupt;DWORD DWORD dwSysIntr_KeybddwSysIntr_Keybd;UINT UINT uiPddIduiPddId;PFN_KEYBD_PDD_GET_KEYBD_EVENT PFN_KEYBD_PDD_GET_KEYBD_EVENT pfnGetKeybdEventpfnGetKeybdEvent;PFN_KEYBD_EVENT PFN_KEYBD_EVENT pfnKeybdEventpfnKeybdEvent;429.3.3用户应用程序的开发用户应用程序的开发 因因为为系系统统采采用用了了一一款款专专用用的的非非标标准准显显示示器器,分分辨辨率率为为192*64192*64点点,无无法法运运行行Windows Windows CECE的的图图形形界界面面,故故需需要要专专
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!