




已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1,第9章開發(fā)應(yīng)用實(shí)例,9.1 概述 隨著現(xiàn)代物流業(yè)倉(cāng)儲(chǔ)、超市等行業(yè)的快速發(fā)展,物品流動(dòng)的速度越來(lái)越快,倉(cāng)儲(chǔ)庫(kù)存周期也越來(lái)越短。這樣物流倉(cāng)儲(chǔ)盤點(diǎn)行業(yè)的壓力也越來(lái)越大,傳統(tǒng)的人工盤點(diǎn)方式已經(jīng)不能適應(yīng)現(xiàn)代物流的發(fā)展。為了解決這一問題,國(guó)際上一些物流先進(jìn)國(guó)家已經(jīng)采用專業(yè)的盤點(diǎn)設(shè)備盤點(diǎn)機(jī),用于物流盤點(diǎn)。 我們?cè)谠O(shè)計(jì)時(shí)采用了目前流行的嵌入式微處理器作為系統(tǒng)核心部件。其微處理器選型是采用韓國(guó)三星公司生產(chǎn)的S3C2410微處理器,操作系統(tǒng)采用了Windows CE .NET 4.2嵌入式操作系統(tǒng)。整個(gè)系統(tǒng)的硬件部分主要分為三個(gè)大的模塊:核心板、系統(tǒng)板和專用鍵盤及 LCD顯示器。,2,在核心板上集成了微處理器、64MB SDRAM和64MB NAND Flash模塊及部分支持電路。在系統(tǒng)板上設(shè)計(jì)有與核心板連接的接口,同時(shí)又集成有顯示器接口,以太網(wǎng)接口,USB接口,串口,CF卡和IrDA條形碼掃描接口等各種外設(shè)及以相應(yīng)的控制部件,另外還有電源管理與轉(zhuǎn)換等一些附屬電路。31鍵的專用鍵盤是采用超低功耗的MSP430單片機(jī)作為控制器來(lái)對(duì)鍵盤進(jìn)行編解碼,通過自定義的串行鍵盤口接入系統(tǒng)板。顯示部分是采用192*64 LCD字符型顯示器。 本章首先介紹了系統(tǒng)硬件部分設(shè)計(jì)及工作原理,在軟件部分介紹了Windows CE操作系統(tǒng)的移植和定制,驅(qū)動(dòng)程序和支持軟件的編制。盤點(diǎn)機(jī)除了支持常用的設(shè)備,還需要支持串口條形碼掃描儀,CF卡等設(shè)備。,3,實(shí)物圖片,便攜式盤點(diǎn)設(shè)備外觀,4,9.2 硬件平臺(tái)的設(shè)計(jì),嵌入式設(shè)備的硬件架構(gòu)一般都是以嵌入式微處理器為核心,通過處理器接口擴(kuò)展以及系統(tǒng)硬件的支持,把眾多的外設(shè)單元集成到整個(gè)系統(tǒng)中,并通過CPLD 等邏輯轉(zhuǎn)換器件和其它硬件電路完成對(duì)外設(shè)模塊進(jìn)行讀寫和控制操作。 物流盤點(diǎn)機(jī)系統(tǒng)硬件原理框圖如圖9-1abc所示,硬件部分主要包含有核心板,系統(tǒng)板和專用鍵盤及 LCD顯示器三個(gè)部分。 1)系統(tǒng)核心板簡(jiǎn)介 核心板是整個(gè)系統(tǒng)的核心,集成了盤點(diǎn)機(jī)系統(tǒng)的微處理器、SDRAM單元、NAND Flash單元以及它們所需要的輔助部件,如晶體振蕩器(12MHZ和32KHZ兩組),電源模塊等等。核心板圖和PCB板圖如圖9.1b,c所示。,5,圖9.1a硬件平臺(tái)示意圖,6,2) FlashROM程序存儲(chǔ)器 在核心板中,微處理器采用的是基于ARM920T核的S3C2410微處理器。系統(tǒng)的程序存儲(chǔ)器采用的是NAND Flash,芯片的型號(hào)是Samsung公司的K9F1208,容量為64MB,NAND FlashROM 接口電路原理如圖9-2所示。 它按頁(yè)進(jìn)行自動(dòng)編程,每一頁(yè)大小為528(512+16)字節(jié),編程的典型時(shí)間為200s。擦除則按照塊進(jìn)行,每一塊的大小為16K字節(jié),典型的擦除時(shí)間為2ms。它在頁(yè)面中讀取單個(gè)數(shù)據(jù)的時(shí)間為50ns。K9F1208總共有48個(gè)引腳,起作用的只有8根IO口線、讀寫控制線和電源線等。IO口是地址、命令輸入和數(shù)據(jù)輸出輸入的復(fù)用端口。K9F1208還提供了ECC錯(cuò)誤糾正碼,實(shí)現(xiàn)壞區(qū)檢測(cè)以及實(shí)時(shí)映射,這樣它具有高達(dá)10萬(wàn)次的編程擦除周期,數(shù)據(jù)保存長(zhǎng)達(dá)10年。在S3C2410內(nèi)部集成有NAND Flash控制器,可以在硬件上直接與NAND Flash相連。在盤點(diǎn)機(jī)中,NAND Flash被用作裝載操作系統(tǒng)鏡像以及大容量的數(shù)據(jù)存儲(chǔ),同時(shí)也是系統(tǒng)啟動(dòng)存儲(chǔ)器。,7,圖9.1b 核心板部分的示意圖,核心板是整個(gè)系統(tǒng)的核心,集成了盤點(diǎn)機(jī)系統(tǒng)的處理器,SDRAM單元,NAND Flash單元以及它們所需要的輔助部件,8,圖9.1c 核心板PCB圖(6層),9,圖9-2 NAND FlashROM的原理圖,10,3) SDRAM隨機(jī)存儲(chǔ)器 SDRAM被用來(lái)運(yùn)行操作系統(tǒng)以及各類數(shù)據(jù)的緩存,圖9-3是核心板 SDRAM 接口部分的原理圖,系統(tǒng)采用兩片HY57V561620 16M16Bit SDRAM芯片,共同組成32Bit數(shù)據(jù)寬度,64MB內(nèi)存。 HY57V561620是一款4Banks4M16Bit的SDRAM芯片,采用3.3V電源供電,比較適合嵌入式系統(tǒng)。SDRAM與其它的RAM相比,有許多獨(dú)特的優(yōu)點(diǎn),容量大,功耗低,速度快,最快可以工作在166MHz頻率下,通常存儲(chǔ)時(shí)間為10ns。在高速存儲(chǔ)系統(tǒng)中SDRAM是必不可少的外部存儲(chǔ)設(shè)備。SDRAM通過S3C2410片內(nèi)的SDRAM控制器來(lái)管理,SDRAM掛接在BANK6上。,11,圖9-3核心板SDRAM部分的原理電路圖,12,4)核心板電源 圖9-4是核心板電源部分的原理電路圖。圖中,采用MIC5207電源芯片將來(lái)自系統(tǒng)板的3.3V電壓轉(zhuǎn)換為兩組1.8V電壓供給處理器內(nèi)核使用。核心板上還有一些輔助電路,包括上拉電阻,濾波電容,以及供處理器使用的主時(shí)鐘晶振,供外設(shè)適用的輔助時(shí)鐘晶振等,它們一起構(gòu)成了ARM的最小硬件系統(tǒng)板。系統(tǒng)所使用的S3C2410處理器是一款FBGA封裝的高速處理器,運(yùn)行時(shí)鐘頻率為203MHz,這種FBGA封裝的高速處理器需要使用多層電路板設(shè)計(jì)。本系統(tǒng)核心板工作在高速信號(hào)下,為了布線方便,減少干擾,采用了六層電路板設(shè)計(jì),第二層為接地面,四層為電源面,其他各層為信號(hào)層。核心板通過標(biāo)準(zhǔn)144芯SIMM插座與母板連接。核心板是一個(gè)最小的ARM9硬件系統(tǒng)板,具有較好的通用性,可以作為不同產(chǎn)品開發(fā)設(shè)計(jì)的基礎(chǔ)。,13,圖9.4 電源原理圖,14,9.2.2系統(tǒng)板(應(yīng)用板)的組成與工作原,系統(tǒng)板起兩方面的作用,一方面對(duì)核心板提供支持。如為核心板供電,提供外設(shè)到核心板的連接,另一方面為各種外設(shè)提供了接口。系統(tǒng)板主要集成有RJ-45網(wǎng)絡(luò)接口、USB 主從設(shè)備接口、串行接口、LCD顯示器接口、CF卡接口、鍵盤等接口電路。同時(shí),還有包含有一些相應(yīng)的控制轉(zhuǎn)換電路(如可編程器件CPLD)和電源管理部分。核心板和母板之間采用標(biāo)準(zhǔn)SIMM插槽連接,外設(shè)和系統(tǒng)板之間采用相應(yīng)的外設(shè)接口連接。其中可編程器件CPLD采用的是Altera公司的EPM3032ATC44-10的CPLD芯片。CPLD器件可以實(shí)現(xiàn)高速的FIFO或者利用其靈活的可編程性,可以作為核心板與外部其他功能模塊的通用接口(如實(shí)現(xiàn)了一個(gè)IDE接口)。因?yàn)镾3C2410本身沒有CF卡(半導(dǎo)體輔助存儲(chǔ)器中的一種)接口,所以為了連接CF卡,必須采用轉(zhuǎn)換接口。實(shí)際系統(tǒng)中采用了總線接口的IDE接口轉(zhuǎn)換為CF卡接口。,15,系統(tǒng)板上的網(wǎng)絡(luò)接口芯片采用CS8900網(wǎng)絡(luò)接口芯片。CS8900芯片是Cirrus Logic公司生產(chǎn)的一種局域網(wǎng)處理芯片,它的封裝是100-pin TQFP,內(nèi)部集成了在片RAM、10BASE-T收發(fā)濾波器,并且提供8位和16位兩種接口。本系統(tǒng)中采用16位接口方式。以太網(wǎng)接口原理圖如圖9-6 所示,圖中HR601627是一種脈沖變壓器,在CS8900的前端對(duì)網(wǎng)絡(luò)信號(hào)進(jìn)行脈沖波形變換。,16,圖9.6 CS8900網(wǎng)絡(luò)接口原理圖。,17,系統(tǒng)采用了一款專用顯示器19264型LCD顯示器。該顯示器是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器、列驅(qū)動(dòng)器及19264全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示124個(gè)( 1616點(diǎn)陣 )漢字,采用3.3V電源供電,與處理器接口采用8位并行輸入輸出數(shù)據(jù)總線和8條控制線。S3C2410處理器內(nèi)部集成了LCD控制器,但是該控制器不支持用戶選定的顯示器,只能采用其他方式接入該款顯示器,實(shí)際采用的是直接掛接到處理器的通用I/O口上的方式。,18,S3C2410中集成了3.3V TTL 電平的串行接口,可以直接使用。為了與標(biāo)準(zhǔn)RS232C串行設(shè)備通信,采用了一塊SP3243芯片用于電平的轉(zhuǎn)換,構(gòu)成了一個(gè)比較完整的串口。 在盤點(diǎn)機(jī)的實(shí)際應(yīng)用中,需要外接串行口的條形碼掃描儀,該掃描儀采用標(biāo)準(zhǔn)串口9針D型插座,工作時(shí)需要通過串口第九針外接5V電源。為了方便使用該款掃描儀,設(shè)計(jì)時(shí)對(duì)串行接口進(jìn)行了改進(jìn),在串口第九針上采用電子開關(guān)疊加可控的5V電源。在作為標(biāo)準(zhǔn)串口使用時(shí),5V電源和第九針斷開。當(dāng)外接掃描儀時(shí)第九針接入5V電源,驅(qū)動(dòng)掃描儀正常工作。串口第九針是否接入5V電源在串口驅(qū)動(dòng)程序中實(shí)現(xiàn),應(yīng)用程序通過串口設(shè)置系統(tǒng)調(diào)用函數(shù)來(lái)控制,接口電路如圖 9-8 所示。,19,圖 9-8 串行接口電路,20,本系統(tǒng)中所用的設(shè)備較多,其中很多設(shè)備需要復(fù)位信號(hào)來(lái)保證正??煽康膹?fù)位。為此,在系統(tǒng)板上設(shè)計(jì)了復(fù)位信號(hào)模塊,該模塊采用電阻、電容和二極管構(gòu)成一個(gè)簡(jiǎn)單適用的復(fù)位電路,在此基礎(chǔ)上采用74HC17芯片進(jìn)行波形調(diào)整、信號(hào)取反繼而生成符合設(shè)備需要的高、低電平兩組復(fù)位信號(hào),供整個(gè)系統(tǒng)使用。復(fù)位電路的原理圖見圖9-9所示 。 S3C2410處理器片內(nèi)集成有USB接口,故系統(tǒng)板只是簡(jiǎn)單的將此信號(hào)引出。,21,圖9.8 復(fù)位電路原理圖,22,盤點(diǎn)機(jī)的輸入信號(hào)則采用外接的串口鍵盤手動(dòng)輸入和串口條形碼掃描儀讀入方式。串口鍵盤為自行設(shè)計(jì)的,適合盤點(diǎn)業(yè)需要的專用鍵盤,鍵盤采用了一款16位低功耗單片機(jī)MSP430進(jìn)行管理。 使用盤點(diǎn)機(jī)的目的是為了提高盤點(diǎn)效率,對(duì)于盤點(diǎn)人員而言,使用最多的就是掃描儀和鍵盤。掃描儀上只有一個(gè)按鍵,使用簡(jiǎn)單。由于鍵盤的效率對(duì)于提高盤點(diǎn)的效率非常重要,所以在盤點(diǎn)機(jī)系統(tǒng)中設(shè)計(jì)一款最合適盤點(diǎn)使用的鍵盤是提高盤點(diǎn)效率的重要一環(huán)。盤點(diǎn)機(jī)是一款便攜式設(shè)備,鍵盤不可能做得很大,另一方面為了便于盤點(diǎn)人員實(shí)現(xiàn)盲打,按鍵的大小不能太小,特別是頻繁使用的按鍵還應(yīng)該比計(jì)算機(jī)標(biāo)準(zhǔn)鍵盤略大。在這種情況下,按鍵的個(gè)數(shù)就有所限制,經(jīng)過大量實(shí)踐,最終的鍵盤設(shè)計(jì)采用了31鍵的方案。其中字母和數(shù)據(jù)鍵在一般情況下作為數(shù)字鍵使用,配合Shift按鍵輸入字母,圖9-10為鍵盤部分的框圖。,9.2.3專用鍵盤的設(shè)計(jì),23,同時(shí),為了使用方便,鍵盤上還設(shè)置了系統(tǒng)休眠、喚醒按鍵,與鍵盤接口一起通過排線接入系統(tǒng)板。鍵盤所用的控制器為MSP430F149,這是TI公司推出的一種具有16位RISC結(jié)構(gòu)、超低功耗的工業(yè)級(jí)混合信號(hào)控制器。這些控制器被設(shè)計(jì)為可用電池工作,而且可以有很長(zhǎng)使用時(shí)間的應(yīng)用。CPU中的16個(gè)寄存器和常數(shù)發(fā)生器使MSP430微控制器能達(dá)到最高的代碼效率,靈活的時(shí)鐘源可以使器件達(dá)到最低的功率消耗,數(shù)字控制的振蕩器(DCO)可使器件從低功耗模式迅速喚醒,在少于6s的時(shí)間內(nèi)激活到活躍的工作方式。程序中使用MSP430F149的外部中斷I/O口作為鍵盤掃描的信號(hào)線,經(jīng)過編碼后,通過片內(nèi)內(nèi)置的串口輸出到系統(tǒng)板。該芯片在1.8-3.6V電壓,1MHz的時(shí)鐘條件下運(yùn)行,耗電電流在0.1-400A之間(因不同的工作模式而不同)。CPU平時(shí)至于節(jié)電模式,按鍵時(shí)觸發(fā)中斷信號(hào),CPU立即被喚醒,處理完鍵盤事件后,CPU再次進(jìn)入省電模式。,24,圖9-10為鍵盤部分的框圖,25,系統(tǒng) 板圖,10M以太網(wǎng) 網(wǎng)卡CS8900,條形碼掃描儀RS232接口,網(wǎng)絡(luò)傳輸 RJ45接口,JTAG調(diào)試 接口,鍵盤 RS232接口,LCD顯示器 接口,電源模塊 MAX603,26,9.3 軟件系統(tǒng)的設(shè)計(jì),系統(tǒng)的軟件系統(tǒng)主要包括嵌入式操作系統(tǒng)選型、定制及裁減、硬件驅(qū)動(dòng)程序和用戶應(yīng)用程序方面。 9.3.1操作系統(tǒng)的定制與實(shí)現(xiàn) Window CE 具有良好的圖形交互界面,便于開發(fā)調(diào)試上層圖形應(yīng)用程序,所以本便攜式盤點(diǎn)機(jī)的操作系統(tǒng)選用了Windows CE。 Microsoft Windows CE .NET 是支持多平臺(tái)的、可定制的32位嵌入式操作系統(tǒng)。支持多線程、完全搶占執(zhí)行和多任務(wù)。不僅適用于工業(yè)上的嵌入式設(shè)備,同時(shí)支持高度便攜性的個(gè)人計(jì)算設(shè)備,如掌上電腦、PDA 和移動(dòng)通信設(shè)備等。Windows CE .NET在設(shè)計(jì)上采用完全的模塊化結(jié)構(gòu),可以根據(jù)硬件平臺(tái)和應(yīng)用目的靈活的進(jìn)行定制。對(duì)于應(yīng)用程序的開發(fā)者來(lái)說(shuō),Windows CE .NET 提供了同 Windows 環(huán)境相似的各種開發(fā)環(huán)境。Microsoft Win32 API、ActiveX 控件、消息隊(duì)列、COM 接口、ATL 和MFC,這對(duì)于提高編程者的效率和從其他 Windows 平臺(tái)上移植成功的應(yīng)用程序很有好處。Windows CE .NET 內(nèi)建了對(duì)多媒體、通信(TCP/IP、SNMP、TAPI 等)和安全的支持,并且提供了Windows 用戶熟悉的常用的應(yīng)用程序。Windows CE 通過 ActiveSync 實(shí)現(xiàn)了目標(biāo)設(shè)備同臺(tái)式計(jì)算機(jī)之間的通信。,27,1)NAND FlashROM存儲(chǔ)空間的分配 系統(tǒng)核心板上使用 NAND FlashROM芯片內(nèi)部分為4個(gè)平面,每個(gè)平面包含1024個(gè)塊,每塊包含32頁(yè),每頁(yè)512字節(jié)。芯片的讀寫以頁(yè)為單位,擦除以塊為單位。故存儲(chǔ)器的分配以塊為單位(16KB)。存儲(chǔ)器分為兩個(gè)大小相同的大區(qū),即系統(tǒng)區(qū)和用戶區(qū),均為2048塊。用戶區(qū)供用戶保存用戶程序和數(shù)據(jù)使用。系統(tǒng)區(qū)又具體分為三個(gè)區(qū)段: ( 1)NBoot區(qū)(0-1塊): 大小為2塊(32KB),其前4KB是系統(tǒng)啟動(dòng)代碼,用于引導(dǎo)EBoot(調(diào)試狀態(tài))或者Windows CE(發(fā)行狀態(tài))內(nèi)核,其他部分可以保存啟動(dòng)中可能需要的程序或者數(shù)據(jù)。 (2)EBoot區(qū)(2-8塊): 大小為7塊(112K),一般在調(diào)試時(shí)使用,主要作用是格式化NAND Flash,通過網(wǎng)絡(luò)下載Windows CE內(nèi)核等。 (3)Windows CE區(qū)(其他塊):保存Windows CE的系統(tǒng)文件。,9.3.1 Win CE操作系統(tǒng)的定制和實(shí)現(xiàn),28,2)Win CE操作系統(tǒng)的定制和實(shí)現(xiàn),搭建基于Windows CE操作系統(tǒng)的平臺(tái)需要完成以下主要步驟: (1)導(dǎo)入和硬件平臺(tái)相關(guān)的.cec文件; (2)利用標(biāo)準(zhǔn)開發(fā)向?qū)?,根?jù)Windows CE的架構(gòu)創(chuàng)建一個(gè)平臺(tái); (3)利用附加項(xiàng)和目錄特征客戶化平臺(tái); (4)為特定的目標(biāo)設(shè)備創(chuàng)建一個(gè)自引導(dǎo)程序和板級(jí)支持包(Board Suport Package); (5)加入BSP文件編譯操作系統(tǒng)鏡像文件,通過以太網(wǎng)將鏡像文件下載到目標(biāo)設(shè)備,并調(diào)試平臺(tái)。 (6)平臺(tái)搭建并調(diào)試成功,為平臺(tái)應(yīng)用程序開發(fā)者導(dǎo)出軟件開發(fā)工具包(SDK)。 這樣程序開發(fā)者就可以利用EVC開發(fā)應(yīng)用軟件了。,29,通常,在開發(fā)平臺(tái)的時(shí)候,首先將OS鏡像文件下載到一個(gè)硬件平臺(tái),比如基于PC硬件的Windows CE開發(fā)平臺(tái)(CEPC)。Platform Builder包含了CEPC和很多其他硬件開發(fā)平臺(tái)的自引導(dǎo)程序和板級(jí)支持包(BSPs)。在硬件開發(fā)平臺(tái)上把平臺(tái)提煉和調(diào)試之后使之適合目標(biāo)設(shè)備的要求。在下載鏡像文件到目標(biāo)設(shè)備前要先創(chuàng)建自引導(dǎo)裝入程序和原始設(shè)備制造商(OEM)適應(yīng)層(OAL)。 OAL是介于內(nèi)核和目標(biāo)平臺(tái)固件之間的一個(gè)層。為了使Windows CE系統(tǒng)能夠運(yùn)行在多種硬件平臺(tái)上,微軟又提出了一個(gè)新的概念OEM適配層(OAL)。這個(gè)OEM適配層(OAL)處于Windows CE內(nèi)核和硬件平臺(tái)中間,它可以將特定設(shè)備的硬件特性與Windows CE內(nèi)核功能隔離開,從而使Windows CE的內(nèi)核可以通過這個(gè)硬件隔離層提供的標(biāo)準(zhǔn)抽象接口來(lái)實(shí)現(xiàn)與硬件平臺(tái)的通訊。OAL的存在可以隱藏各種與硬件有關(guān)的細(xì)節(jié),屏蔽不同平臺(tái)硬件的差異,保證Windows CE上層內(nèi)核的獨(dú)立性,從而增強(qiáng)了整個(gè)系統(tǒng)的可移植性。,30,這一特性對(duì)于Windows CE上層應(yīng)用設(shè)計(jì)的程序員來(lái)說(shuō)無(wú)疑是一個(gè)福音,但是對(duì)于Windows CE在特定平臺(tái)的移植以及底層硬件驅(qū)動(dòng)設(shè)計(jì)的開發(fā)者來(lái)說(shuō),卻面臨著巨大的困難。面對(duì)一個(gè)結(jié)構(gòu)復(fù)雜、功能強(qiáng)大、設(shè)計(jì)先進(jìn)的操作系統(tǒng),如何全面認(rèn)識(shí)OAL設(shè)計(jì)結(jié)構(gòu)、如何實(shí)現(xiàn)OAL與特定硬件平臺(tái)正確交互以及如何建立OAL與上層內(nèi)核連接等關(guān)鍵技術(shù),在系統(tǒng)設(shè)計(jì)和移植時(shí)都是一個(gè)嚴(yán)峻的考驗(yàn)。OAL提供的功能與底層硬件的控制和通信密不可分,不同的硬件平臺(tái)會(huì)有不同的OAL實(shí)現(xiàn)。與其它處理器平臺(tái)移植一樣,S3C2410處理器的OAL需要在系統(tǒng)體系結(jié)構(gòu)、板級(jí)支持包(Board Support Package)兩個(gè)層面實(shí)現(xiàn)。 本系統(tǒng)采用的處理器是S3C2410處理器,這是一款基于ARM V4版本的處理器,在定制操作系統(tǒng)過程中采用了ARM V4類型的BSP。在此基礎(chǔ)上,加載開發(fā)的本地驅(qū)動(dòng)程序?qū)С龅?cec文件到Platform Builder的Catalog欄下,作為可選組件供操作系統(tǒng)選擇。,31,由于Windows CE內(nèi)核通常為20M-30M字節(jié),在調(diào)試機(jī)器時(shí)要經(jīng)常地將如此巨大的數(shù)據(jù)下載到RAM中,傳輸效率是最關(guān)鍵的問題。Platform Builder的下載服務(wù)提供了四種方式: (1)實(shí)時(shí)仿真下載服務(wù):它啟動(dòng)仿真器并且在仿真器上引導(dǎo)操作系統(tǒng)的鏡像文件。仿真下載服務(wù)不需要通訊硬件,因?yàn)榉抡嫫魇窃陂_發(fā)工作站上運(yùn)行的。這是Platform Builder 4.0版本開始提供的一個(gè)新技術(shù)。仿真器比目標(biāo)設(shè)備硬件有著更高的容錯(cuò)性??梢员O(jiān)控目標(biāo)板程序運(yùn)行的各種狀態(tài)。 (2)以太網(wǎng)下載服務(wù):它通過以太網(wǎng)連接利用Windows CE的自引導(dǎo)裝入程序(EBoot)下載操作系統(tǒng)鏡像文件。這種服務(wù)方式需要在開發(fā)工作站上有一個(gè)以太網(wǎng)卡,目標(biāo)機(jī)上一個(gè)調(diào)試用的以太網(wǎng)卡。利用以太網(wǎng)下載服務(wù),所有連接到目標(biāo)設(shè)備的應(yīng)用程序和工具都可以通過一條簡(jiǎn)單的網(wǎng)線來(lái)通訊。,32,(3)并行下載服務(wù): 也利用WinCE的自引導(dǎo)程序,然后通過并行口連接下載操作系統(tǒng)的鏡像文件。但是,在并行下載服務(wù)里沒有與之對(duì)應(yīng)的內(nèi)核傳輸。 (4)串行下載服務(wù):串行下載服務(wù)是通過串行口由Win CE自引導(dǎo)裝入程序通過串行口連接下載操作系統(tǒng)鏡像文件。在這種服務(wù)里,無(wú)法在運(yùn)行時(shí)配置設(shè)備方的設(shè)置。但是可以修改并重新編譯操作系統(tǒng)鏡像文件代碼來(lái)改變波特率。如果采用串口下載,假設(shè)采用最高傳輸速率115200bps,那么在20M的數(shù)據(jù)下載則需要大約23分鐘,故所需時(shí)間較長(zhǎng)。 在實(shí)際系統(tǒng)開發(fā)過程中,用以太網(wǎng)連接來(lái)下載操作系統(tǒng)的鏡像文件。系統(tǒng)自引導(dǎo)裝入程序(EBoot)與運(yùn)行在開發(fā)工作站上的Platform Builder通信,下載鏡像文件和設(shè)置調(diào)試服務(wù)。以太網(wǎng)連接通過以太網(wǎng)服務(wù)可以提供更快的傳輸速度和更有效的集成功能。串行連接和并行連接相對(duì)以太網(wǎng)連接速度慢,效率比較低,只在監(jiān)視調(diào)試過程的時(shí)候偶爾用上。,33,3) Windows CE的啟動(dòng)過程,(1)在核心板上,將系統(tǒng)設(shè)置為NAND FlashROM啟動(dòng)方式,即OMl:0設(shè)置為00; (2)上電復(fù)位后,系統(tǒng)自動(dòng)將NAND FlashROM內(nèi)的前4KB字節(jié)(NBoot)拷貝到boot SRAM中,執(zhí)行boot SRAM中代碼。如果需要(NBoot 4KB),將NBoot區(qū)數(shù)據(jù)拷貝到SDRAM中,再執(zhí)行NBoot; (3)如果設(shè)置為調(diào)試狀態(tài),NBoot將EBoot區(qū)數(shù)據(jù)裝入SDRAM,執(zhí)行EBoot,EBoot程序按照用戶的指令通過以太網(wǎng)下載Windows CE鏡像文件,并將鏡像文件寫入Windows CE區(qū)段; (4)NBoot或者EBoot將Windows CE區(qū)段數(shù)據(jù)裝入SDRAM,引導(dǎo)Windows CE操作系統(tǒng)。,34,本系統(tǒng)配置為NAND FlashROM啟動(dòng),系統(tǒng)上電復(fù)位后,boot SDRAM被映射到地址0x00000000,系統(tǒng)自動(dòng)將NAND Flash中的前4KB代碼拷貝到boot SDRAM中,開始執(zhí)行boot SRAM中的代碼,即NBoot程序。系統(tǒng)執(zhí)行的第一行代碼即為NBoot的第一行代碼。NBoot的功能比較簡(jiǎn)單,只是用于初始化系統(tǒng),將復(fù)雜的系統(tǒng)軟件裝入SDRAM,之后就交出控制權(quán)。,35,9.3.2盤點(diǎn)系統(tǒng)驅(qū)動(dòng)程序的開發(fā),1) Windows CE 驅(qū)動(dòng)模型 要把Windows CE移植到目標(biāo)平臺(tái)上,必須為在硬件平臺(tái)上的硬件設(shè)備提供驅(qū)動(dòng)程序。通過設(shè)備驅(qū)動(dòng)程序可以將操作系統(tǒng)和外部設(shè)備連接起來(lái),使得操作系統(tǒng)能夠識(shí)別這些設(shè)備,并為應(yīng)用程序提供設(shè)備服務(wù)。就像其它操作系統(tǒng)一樣,Windows CE支持廣泛的基于各種CE平臺(tái)的設(shè)備驅(qū)動(dòng)程序,同時(shí)也提供一些用于驅(qū)動(dòng)程序開發(fā)的模型(model)。,36,Windows CE 的設(shè)備驅(qū)動(dòng)設(shè)備模型有兩種形式:流接口驅(qū)動(dòng)( Stream Interface Driver )和本地設(shè)備驅(qū)動(dòng)( Native Device Driver )。兩者的差別在于它們向上層提供的編程接口不同,流接口驅(qū)動(dòng)提供一組統(tǒng)一格式的流接口,而本地設(shè)備驅(qū)動(dòng)則根據(jù)具體設(shè)備的需求提供相應(yīng)合適的接口。所有的設(shè)備驅(qū)動(dòng)都是以動(dòng)態(tài)鏈接庫(kù)( DLL )的方式實(shí)現(xiàn)和加載。Windows CE 中的許多模塊都可以管理設(shè)備驅(qū)動(dòng)程序。例如與用戶界面有關(guān)的GWES 模塊管理鍵盤、鼠標(biāo)、顯示和電源等驅(qū)動(dòng)程序;設(shè)備管理( Device Manager )根據(jù)注冊(cè)表中的內(nèi)容管理注冊(cè)過的設(shè)備驅(qū)動(dòng)程序,如串口驅(qū)動(dòng)。 在盤點(diǎn)機(jī)系統(tǒng)中,內(nèi)部建立了設(shè)備的驅(qū)動(dòng)程序,如顯示設(shè)備LCD,采用本地設(shè)備驅(qū)動(dòng)方式,通過移植定、制微軟提供的驅(qū)動(dòng)例程實(shí)現(xiàn)。其它外部設(shè)備,如串口、USB Client ,采用流接口驅(qū)動(dòng)實(shí)現(xiàn)。通過已經(jīng)定義好的流接口函數(shù)應(yīng)用程序可以用文件訪問的方式訪問接口設(shè)備,如用戶可以像文件操作一樣讀寫串行口。,37,2)電源管理,移動(dòng)設(shè)備的電源管理方式會(huì)對(duì)用戶使用移動(dòng)設(shè)備產(chǎn)生很大的影響,因此在CPU 及電路提供了電源管理硬件支持的基礎(chǔ)上,在操作系統(tǒng)中采用一套有效的電源管理方案也是非常重要的。當(dāng)成功的運(yùn)行電源管理模塊時(shí),移動(dòng)設(shè)備用戶可以在任何時(shí)候長(zhǎng)時(shí)間便利的使用移動(dòng)設(shè)備,而不會(huì)意識(shí)到在任何時(shí)間都有一個(gè)復(fù)雜的工程系統(tǒng)正工作在設(shè)備內(nèi)以保持電池電量。由于移動(dòng)手持設(shè)備在硬件資源和系統(tǒng)結(jié)構(gòu)的特殊要求,同傳統(tǒng)的PC 機(jī)相比嵌入式操作系統(tǒng)對(duì)移動(dòng)設(shè)備的電源管理需要不同的方法。下面以Windows CE .NET 為例介紹在嵌入式操作系統(tǒng)中電源管理的方案設(shè)計(jì)。,38,Windows CE.NET 是通過電源管理器來(lái)進(jìn)行系統(tǒng)的電源管理,提高整個(gè)系統(tǒng)的電源效率,并為每一個(gè)外圍設(shè)備模塊提供電源管理。通過電源管理不僅可以減少目標(biāo)設(shè)備上的電源損耗,而且可以在系統(tǒng)重啟、運(yùn)行、空閑和掛起的電源狀態(tài)下保存RAM 中的文件系統(tǒng)。電源管理器會(huì)同三種不同的客戶端程序發(fā)生作用,對(duì)于這三種客戶端電源管理器提供了不同的編程接口。 其一電源管理器相關(guān)的設(shè)備驅(qū)動(dòng)程序。 其二是可以改變系統(tǒng)電源狀態(tài)或者改變?cè)O(shè)備性能的應(yīng)用程序,如一些需要改變系統(tǒng)時(shí)鐘頻率的應(yīng)用。 其三是在電源相關(guān)事件發(fā)生時(shí)需要得到通知的應(yīng)用程序以及影響系統(tǒng)的電源狀態(tài)的改變的應(yīng)用程序,例如電池電量低時(shí)發(fā)出警告的程序。,39,完善的系統(tǒng)電源管理需要每個(gè)外設(shè)模塊的硬件設(shè)計(jì)以及驅(qū)動(dòng)程序的支持。支持電源管理的設(shè)備驅(qū)動(dòng)程序需完成確??梢栽谙到y(tǒng)枚舉時(shí)正確報(bào)告其電源管理能力,處理電源管理器發(fā)出的電源請(qǐng)求,在系統(tǒng)啟動(dòng)和從空閑模式退出時(shí)盡可能快的完成設(shè)備上電過程,在系統(tǒng)關(guān)機(jī)或進(jìn)入空閑模式時(shí)使設(shè)備下電或進(jìn)入睡眠模式,對(duì)于支持喚醒能力的設(shè)備完成設(shè)備的喚醒功能等任務(wù)。對(duì)于每一個(gè)設(shè)備用戶都可以在注冊(cè)表中注冊(cè)設(shè)備驅(qū)動(dòng)所支持的電源狀態(tài)。設(shè)備的電源狀態(tài)與系統(tǒng)的電源狀態(tài)應(yīng)有一定的對(duì)應(yīng)關(guān)系,且受系統(tǒng)電源狀態(tài)定義的限制。,40,3)鍵盤驅(qū)動(dòng)程序的實(shí)現(xiàn),標(biāo)準(zhǔn)Windows CE支持兩種類型的鍵盤:PS/2鍵盤和矩陣鍵盤
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能制造與工業(yè)園區(qū)的協(xié)同發(fā)展路徑
- 公共服務(wù)體系優(yōu)化對(duì)經(jīng)開區(qū)發(fā)展的影響
- A-Level化學(xué)(A2)2024-2025年度有機(jī)合成與分析化學(xué)模擬試卷(含解析)
- 2025年校園欺凌防治與干預(yù)制度:加強(qiáng)學(xué)生心理輔導(dǎo)隊(duì)伍建設(shè)
- 2025年注冊(cè)安全工程師化工安全模擬試卷:化工工藝與安全管理實(shí)戰(zhàn)技巧精講集
- 教聯(lián)體與社會(huì)資本的合作發(fā)展模式
- 推動(dòng)健美操創(chuàng)新的現(xiàn)狀及總體形勢(shì)
- 影視產(chǎn)業(yè)對(duì)區(qū)域人才培養(yǎng)與引進(jìn)的促進(jìn)作用
- 提高學(xué)生急救實(shí)踐能力的教學(xué)工具開發(fā)
- 小麥抗白粉病育種的面臨的問題、機(jī)遇與挑戰(zhàn)
- 安徽省蚌埠市2023-2024學(xué)年高一下學(xué)期期末學(xué)業(yè)水平監(jiān)測(cè)數(shù)學(xué)試題
- 2024年高考地理全國(guó)三卷清晰版有答案
- 電腦編程入門自學(xué)教程
- 2024年江蘇省蘇州市中考道德與法治真題(原卷版+解析版)
- 2024年高校教師崗前培訓(xùn)《高等教育學(xué)》題目100道附答案(綜合題)
- 船舶設(shè)備維護(hù)與保養(yǎng)要點(diǎn)
- DL-T 572-2021電力變壓器運(yùn)行規(guī)程-PDF解密
- 辦公室安全事故分析
- 海氏崗位價(jià)值評(píng)估法教程、數(shù)據(jù)表及案例解析
- 高考安保工作總結(jié)
- 天堂旅行團(tuán)讀書分享
評(píng)論
0/150
提交評(píng)論