Windows CE工程實踐完全解析

出版時間:2008-10  出版社:中國電力出版社  作者:李大為  頁數(shù):399  字?jǐn)?shù):646000  
Tag標(biāo)簽:無  

前言

2006年的11月份,微軟正式發(fā)布了Windows CE的6.O版本,全名為Windows EmbeddedCE 6.0。伴隨Windows CE 6.0版本的操作系統(tǒng)開發(fā)工具一起,微軟還公開了它的全部內(nèi)核態(tài)的源代碼。對于有志于深入鉆研Windows CE操作系統(tǒng)的技術(shù)人員來說,這無疑是一個特大的好消息。市面上充斥著大量的解析Linux內(nèi)核源代碼的書籍,卻沒有一本與之相應(yīng)的解析Windows CE內(nèi)核源代碼的書,原因是顯而易見的,因為這是微軟首次向中國內(nèi)地完全免費(fèi)地公布Windows CE操作系統(tǒng)的內(nèi)核源代碼。當(dāng)時我正在微軟的一家代理商那里做微軟嵌入式Windows產(chǎn)品的技術(shù)支持工作,面對著這種有利的形勢,當(dāng)時我就萌生了寫一本解析Windows CE內(nèi)核源代碼的書,內(nèi)容應(yīng)該包括:Windows CE操作系統(tǒng)的進(jìn)程(線程)調(diào)度機(jī)制、內(nèi)存管理技術(shù)、設(shè)備驅(qū)動程序管理機(jī)制等。但是隨后結(jié)合我所接觸的Windows CE的使用者的情況來看,我發(fā)現(xiàn)他們中的大多數(shù)最需要的不是線程調(diào)度、內(nèi)存管理之類的深入的技術(shù)內(nèi)容,而是實實在在的Windows CE操作系統(tǒng)的底層移植。由于嵌入式硬件的無標(biāo)準(zhǔn)、非規(guī)范的特性,嵌入式的操作系統(tǒng)都存在著一個底層移植的問題。廠商所提供的嵌入式操作系統(tǒng)一般都只是與特定嵌入式硬件平臺無關(guān)的操作系統(tǒng)中間層,使用這些嵌入式操作系統(tǒng)開發(fā)具體的電子產(chǎn)品的開發(fā)者需要實現(xiàn)底層驅(qū)動軟件以供操作系統(tǒng)的中間層使用。離開了這些底層的驅(qū)動軟件,操作系統(tǒng)的中間層就無法操作硬件,于是整個操作系統(tǒng)的啟動運(yùn)行就無從談起。微軟將Windows CE的底層驅(qū)動軟件使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu)進(jìn)行打包,并且命名為BSP,意思是板級支持包(Board Support Package),這里所謂的“板”就是特定嵌入式硬件的電路設(shè)計主板,與之相應(yīng)的,不同的嵌入式硬件設(shè)計就有不同的BSP軟件包。由于為嵌入式操作系統(tǒng)開發(fā)底層驅(qū)動軟件同時涉及操作系統(tǒng)的底層接口機(jī)制和對特定硬件操作的技術(shù),這對開發(fā)者的技術(shù)能力提出了更高的要求,事實上對任何一款嵌入式操作系統(tǒng)開發(fā)底層驅(qū)動軟件比開發(fā)上層應(yīng)用軟件的難度都要大得多。大的嵌入式電子產(chǎn)品廠商通常以商業(yè)運(yùn)作的手段解決技術(shù)所帶來的問題。由于國家的法律不能夠充分地保護(hù)知識產(chǎn)權(quán),企業(yè)在技術(shù)方面的投資成果很容易隨著技術(shù)人員的跳槽而被帶走,甚至是帶到企業(yè)的競爭對手那里。而國內(nèi)的大多數(shù)企業(yè)管理水平都不夠,不能夠很有效地應(yīng)對高科技產(chǎn)品的研發(fā)和技術(shù)積累的工作。此外,在中國的人才市場上獲得合格的技術(shù)人才并不是很容易,企業(yè)的管理者們在有些情況下不得不遷就技術(shù)人才。所有這些都對國內(nèi)的企業(yè)投資技術(shù)不利,技術(shù)的含量越高,投資的風(fēng)險也就越大。

內(nèi)容概要

本書是《Windows CE項目開發(fā)實踐叢書》之一。    本書講述了Windows CE操作系統(tǒng)底層驅(qū)動軟件開發(fā)技術(shù)。全書共分5篇25章,內(nèi)容包括開發(fā)Windows CE的BootLoader、OAL、顯示設(shè)備驅(qū)動程序、串口驅(qū)動程序和PC卡總線接口驅(qū)動程序,通過解析和研讀微軟的DeviceEmulator開發(fā)板的BSP的源代碼,旨在幫助讀者系統(tǒng)、全面、具體地了解Windows Embedded CE的BSP的原理與開發(fā)技術(shù),從而達(dá)到理解和實踐Windows CE嵌入式系統(tǒng)軟件開發(fā)目的。    本書注重系統(tǒng)性、先進(jìn)性和實用性,具有特色鮮明、邏輯性強(qiáng)、針對性強(qiáng)的特點(diǎn)。本書適合于從事Windows CE操作系統(tǒng)軟件開發(fā)的工程技術(shù)人員使用,也可作為高等院校自動化、電子、計算機(jī)、通信工程等專業(yè)師生的科研參考書。

書籍目錄

前言緒論第一篇  開發(fā)Windows CE的BootLoader 第1章  BootLoader的理論知識介紹    1.1  BootLoader是大多數(shù)嵌入式操作系統(tǒng)運(yùn)行最初的開始    1.2  微軟建議Windows CE的BootLoader所應(yīng)實現(xiàn)的功能    1.3  BootLoader并不是基于Windows CE的嵌入式軟件系統(tǒng)的必不可少的組成部分 第2章  Windows CE BootLoader的軟件框架和支持庫    2.1  以Eboot為實例學(xué)習(xí)WindOWS CE BootLoader的軟件框架    2.2  BLCOMMON支持庫    2.3  Eboot支持庫    2.4  EthDbg驅(qū)動程序 第3章  案例解說開發(fā)實現(xiàn)OEM函數(shù)    3.1  DeviceEmulator虛擬平臺的硬件設(shè)計    3.2  開天辟地的Startup函數(shù)    3.3  控制流OEM函數(shù)    3.4  調(diào)試功能OEM函數(shù)    3.5  下載功能OEM函數(shù)    3.6  以太網(wǎng)收發(fā)幀OEM函數(shù)    3.7  Flash操作OEM函數(shù)    3.8  時鐘功能OEM函數(shù)    3.9  可選實現(xiàn)的OEM函數(shù)    3.10  在BootLoacler和操作系統(tǒng)之間共享信息的數(shù)據(jù)結(jié)構(gòu)    3.11  保存用戶選項配置參數(shù)的數(shù)據(jù)結(jié)構(gòu) 第4章  認(rèn)識Windows CE操作系統(tǒng)鏡像文件的格式第二篇  開發(fā)Windows CE的OAL 第5章  Windows CE操作系統(tǒng)的系統(tǒng)啟動執(zhí)行流程    5.1  圖覽Windows CE的初始化啟動流程    5.2  開天辟地的StartUp函數(shù)    5.3  KemelStart函數(shù)    5.4  ARMlnit函數(shù)    5.5  kernel.d11模塊的入口點(diǎn)函數(shù)NKStartup    5.6  ARMSetup函數(shù)    5.7  KemelStart函數(shù) 第6章  案例解說WindOWS CE OAL的開發(fā)任務(wù)匯總    6.1  OAL是什么    6.2  OEMGLOBAL結(jié)構(gòu)體及其全局變量    6.3  OEM地址映射表    6.4  OEMIoControl函數(shù)    6.5  OAL的Cache操作OEM函數(shù) 第7章  Windows CE操作系統(tǒng)的中斷處理機(jī)制    7.1  ISR和IST協(xié)同處理外設(shè)的中斷請求    7.2  設(shè)置系統(tǒng)中斷向量表    7.3  初始化函數(shù)OEMInit并啟用硬件中斷處理機(jī)制    7.4  實現(xiàn)OEMInterruptHandler函數(shù)供操作系統(tǒng)處理IRQ中斷    7.5  實現(xiàn)OEMInterruptHandlerFIQ函數(shù)處理FIQ中斷    7.6  案例解說中斷處理的另一組成部分IST    7.7  為IST做哪些事情 第8章  系統(tǒng)時鐘管理    8.1  初始化函數(shù)OEMInit并啟用系統(tǒng)時鐘    8.2  ISR必須處理系統(tǒng)時鐘的定時中斷請求 第9章  TOC的秘密    9.1  初識pTOC指針    9.2  解析實例以加深認(rèn)識TOC數(shù)據(jù)    9.3  TOC的條目    9.4  TOC數(shù)據(jù)的實質(zhì) 第10章  KITL調(diào)試技術(shù)    10.1  什么是KITL    10.2  圖覽KITL的初始化流程    10.3  初始化KITL庫    10.4  初始化Windows CETL連接    10.5  0AL KITL ARGS結(jié)構(gòu)體    10.6  0AL KITL DEVICE結(jié)構(gòu)體    10.7  主動的KITL模式與被動的KITL模式    10.8  KITLTRANSPORT結(jié)構(gòu)體    10.9  匯總OAL的開發(fā)者需要為啟用KITL功能做哪些事情 第11章  案例解說以太網(wǎng)端口設(shè)備EthDbg驅(qū)動程序的開發(fā)    11.1  CS8900A的硬件原理知識    11.2  讀寫ReadlPacketPage和WritePacketPage    11.3  硬件初始化函數(shù)CS8900AInit    11.4  發(fā)送以太網(wǎng)數(shù)據(jù)幀函數(shù)CS8900ASendFrame    11.5  接收以太網(wǎng)數(shù)據(jù)幀函數(shù)CS8900AGetFrame    11.6  啟用與禁用CS8900A的中斷功能的函數(shù)CS8900AEnableInts和CS8900ADisableInts    11.7  CS8900A的配置地址過濾機(jī)制的函數(shù)CS8900ACurrentPacketFilter和 CS8900AMultleastList第三篇  開發(fā)Windows CE的顯示設(shè)備驅(qū)動程序 第12章  從DDI系列函數(shù)開始    12.1  DDI函數(shù)是什么    12.2  WindLOWS CE的GWES子系統(tǒng)如何獲得DDI函數(shù)    12.3  DrvGradientFill和DrvAlphaBlend函數(shù)    12.4  DrvEnablePDEV和DrvDisablePDEV函數(shù)    12.5  DrvEnableSurface和DrvDisableSurfaee函數(shù)    12.6  DrvCreateDeviceBitmap和DrvDeleteDeviceBitmap函數(shù)    12.7  DrvRealizeBrush函數(shù)    12.8  DrvStrokePath函數(shù)    12.9  DrvFillPath函數(shù)    12.10  DrvPaim函數(shù)    12.11  塊傳輸功能函數(shù)DrvAnyBlt、DrvBitBlt、DrvCopyBits和DrvTransparentBlt    12.12  DrvSetPalette函數(shù)    12.13  DrvSetPointerShape函數(shù)    12.14  DrvMovePointer函數(shù)    12.15  DrvGetModes函數(shù)    12.16  DrvRealizeColor和DrvlJnrealizeColol‘函數(shù)    12.17  DrvGetMasks函數(shù)    12.18  DrvContrastControl函數(shù)    12.19  DrvPowerHandler函數(shù)    12.20  DrvEscape函數(shù)    12.21  DrvDisableDriver函數(shù) 第13章  Windows CE的顯示表面及與之相關(guān)的數(shù)據(jù)結(jié)構(gòu)    13.1  顯示表面    13.2  調(diào)色板、顏色轉(zhuǎn)換對象和顏色轉(zhuǎn)換類    13.3  SLIRFOBJ結(jié)構(gòu)體和TmpGPESmf類    13.4  路徑    13.5  剪切板對象CLIPOBJ    13.6  畫筆 第14章  GPE類是用戶開發(fā)WindOWS CE的顯示設(shè)備驅(qū)動程序工作的起點(diǎn)    14.1  從DDI到CPE    14.2  GPE類    14.3  GPE類和塊傳輸操作    14.4  GPE類和畫線操作    14.5  DeviceEmulator的顯示設(shè)備驅(qū)動程序?qū)崿F(xiàn)——S3C2410DISP類 第15章  顯示設(shè)備及其驅(qū)動程序?qū)irOCtDraw功能的支持    15.1  由導(dǎo)出函數(shù)HALInit引出DDHALINFO結(jié)構(gòu)體    15.2  DDHALINFO結(jié)構(gòu)體    15.3  DDCAPS結(jié)構(gòu)體    15.4  DDHAL DDCALLBACKS結(jié)構(gòu)體    15.5  DDHAL_DDSURFACECALLBACKS結(jié)構(gòu)體    15.6  DirectDraw顯示表面    15.7  DDGPE類第四篇  開發(fā)Windows CE的串口驅(qū)動程序 第16章  設(shè)備管理器和流式接口設(shè)備驅(qū)動程序    16.1  串口驅(qū)動程序是典型的流式接口設(shè)備驅(qū)動程序    16.2  設(shè)備管理器以總線枚舉的方式加載流式接口的設(shè)備驅(qū)動程序    16.3  總線枚舉器加載一個設(shè)備驅(qū)動程序的具體步驟 第17章  串口設(shè)備句柄和串口文件句柄    17.1  從COM—Init導(dǎo)出函數(shù)到HW INDEP INFO結(jié)構(gòu)體    17.2  pHWObji成員    17.3  pHWHead成員    17.4  DCB成員    17.5  CommTimeouts成員    17.6  RxBufferInfo和TxBufferInfo成員    17.7  pAccessOwner、0penList、OpenCS和OpenCnt成員    17.8  fEventMask成員    17.9  pDispatchThread、PIiority256、hKillDispatchThread、KillRxThread和 hSerialEvent成員    17.10  hReadEvent和hTransmitEvem成員    17.11  fAbortRead和fAboffTransmit成員    17.12  DroppedBytesMDD、DroppedIBytesPDD、RxBytes、TxBytes、TxBytesPendillg和 TxBytesSent成員    17.13  XFlow、StopXmit、SentXoff、DtrFlow和RtsFlow成員    17.14  ReceiveCritSecl和TransmitCritSecl成員    17.15  dwMddErrors成員 第18章  CSeriaIPDD類是OEM用戶開發(fā)WindOWS CE串口驅(qū)動程序PDD層工作的起點(diǎn)    18.1  CSerialPDD類定義    18.2  CSerialPDD類的初始化部分    18.3  CserialPDD類的串口設(shè)備操作部分    18.4  CSerialPDD類的中斷接口部分    18.5  CSerialPDD類的數(shù)據(jù)發(fā)送與接收部分    18.6  CSerialPDD類的MODEM功能部分    18.7  CSerialPDD類的線路功能部分    18.8  CSerialPDD類的串口配置部分    18.9  CSerialPDD類的IR特殊處理部分和錯誤處理部分 第19章  Windows CE操作系統(tǒng)對外設(shè)的電源狀態(tài)管理    19.1  電源管理架構(gòu)和電源管理器    19.2  設(shè)備電源狀態(tài)和系統(tǒng)電源狀態(tài)    19.3  電源管理器與設(shè)備驅(qū)動程序之間的編程接口    19.4  電源管理器與應(yīng)用程序之間的編程接口    19.5  例說設(shè)備驅(qū)動程序開發(fā)中的電源管理實務(wù) 第20章  案例解說串口驅(qū)動程序的具體開發(fā)    20.1  DeviceEmulator的串口驅(qū)動程序PDD層的類定義    20.2  CReg2410uan類    20.3  S3C2410串口驅(qū)動程序PDD層的初始化    20.4  CPdd2410Uart類的PostInit成員函數(shù)    20.5  串口數(shù)據(jù)接收中斷請求處理函數(shù)Recei、veInterruptHandler    20.6  串口MODEM事件中斷請求處理函數(shù):ModemInterruptHandler    20.7  串口線路中斷請求處理函數(shù)LineInterruptHandler    20.8  串口驅(qū)動程序PDD層的流控功能函數(shù)xmitcomchaT、SetDTlR和SetRTs    20.9  串口數(shù)據(jù)發(fā)送中斷請求處理函數(shù)XmitInterruptHandler    20.10  串口發(fā)送間斷信號的功能函數(shù)SetBreak    20.11  CancelReceive函數(shù)和CantelXlmit函數(shù)    20.12  SetOutputMode函數(shù)和SetBaudRate函數(shù)第五篇  開發(fā)Windows CE的PC卡總線接口驅(qū)動程序 第21章  PC卡總線橋驅(qū)動程序    21.1  PC卡驅(qū)動程序的分層結(jié)構(gòu)    21.2  PC卡接口驅(qū)動程序?qū)嶓w分離的MDD層和PDD層    21.3  PC卡總線橋驅(qū)動程序 第22章  CPCCardBusBridgeBase類是OEM開發(fā)者開發(fā)PC卡總線橋驅(qū)動程序工作的起點(diǎn)    22.1  CPCCardBusBridgeBase類定義    22.2  CPcmciaWindowlnfo類    22.3  CPCCardBusBridgeBase類的數(shù)據(jù)成員和成員函數(shù) 第23章  CPcmciaBusBridge類——DeviceEmulator的PC卡總線橋驅(qū)動程序具體實現(xiàn)    23.1  CPcmciaBusBridge類的抽象意義及繼承關(guān)系    23.2  CPcmciaBusBradge類的數(shù)據(jù)成員    23.3  CPcmciaBusBridge類的構(gòu)造函數(shù)要負(fù)責(zé)生成PC卡總線橋驅(qū)動程序的IST線程    23.4  CPcmciaBusBridge類的Init成員函數(shù)負(fù)責(zé)初始化PC卡總線橋硬件和向上提交Socket Service 第24章  PC卡的Socket    24.1  Socket Service的內(nèi)容    24.2  DeviceEmulator的Pc卡Socket的類數(shù)據(jù)結(jié)構(gòu)及其繼承關(guān)系    24.3  Socket的屬性(信息)和狀態(tài)    24.4  PC卡Socket在系統(tǒng)中的組織管理    24.5  Socket的句柄    24.6  Socket的電源管理    24.7  PC卡總線橋設(shè)備與Pc卡Socket在軟件數(shù)據(jù)結(jié)構(gòu)上的關(guān)聯(lián) 第25章  PCMCIA橋驅(qū)動程序的lST線程和ISR    25.1  CPcmciaBusBridge類成員函數(shù)Installlsr初始化PCMCIA控制器的卡狀態(tài)改變中斷    25.2  PC卡總線橋驅(qū)動程序的IST線程負(fù)責(zé)處理PC卡插拔和Socket電源狀態(tài)改變事件參考文獻(xiàn)

章節(jié)摘錄

插圖:

編輯推薦

《Windows CE工程實踐完全解析》適合于從事Windows CE操作系統(tǒng)軟件開發(fā)的工程技術(shù)人員使用,也可作為高等院校自動化、電子、計算機(jī)、通信工程等專業(yè)師生的科研參考書。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Windows CE工程實踐完全解析 PDF格式下載


用戶評論 (總計44條)

 
 

  •   買了沒有怎么看?,F(xiàn)在不做CE了。
  •   不錯的wince底層軟件教程,手把手教,我看那么講驅(qū)動的書,這本算是淺顯易懂,深入淺出,容易理解,通俗易懂!值得細(xì)看。
  •   能感覺出作者的實力,文筆樸實容易理解。尤其是前半部分BSP相關(guān)的章節(jié)很具有參考價值。
  •   做為基礎(chǔ)入門還是不錯的,不過因為與作者所從事的工作相關(guān),做為底層開發(fā)就講得不是很多了
  •   以S3C2410為基礎(chǔ)詳細(xì)講解了wince下的開發(fā)流程,很有參考價值,wince的好書本來就不多,這算是入門的一本好書
  •   詳細(xì),如想深入wince底層值得一看!入門書籍找?guī)妆居⑽牡木蚾k了
  •   這本書實用性非常好
  •   出略看了一下,感覺語言很通暢,講解的很具體,但對于初學(xué)而言,可能得反復(fù)看幾遍才能理解。
  •   內(nèi)容比較深入,適合有基礎(chǔ)的閱讀查看。
  •   緒論寫的非常操蛋,但是內(nèi)容寫的好,是下了功夫的,特別是對應(yīng)移植的人很有幫助
  •   講得比較細(xì),比較有特色的好書。
  •   不錯 但是看這本書是要有一定的軟硬件基礎(chǔ)
  •   函數(shù)挺全的,適合有點(diǎn)基礎(chǔ)的人看
  •   要是比京東再便宜點(diǎn)就更好了
  •   在讀,感覺很好,送貨太慢了點(diǎn)
  •   寫的比較深入,比其他的騙錢書好多了
  •   寫的比較好,有參考價值,需要耐心且反復(fù)的看
  •   本書內(nèi)容豐富,對于wicne的bsp開發(fā)有幫助
  •   這本書對于初學(xué)者有點(diǎn)難度,如果想要從事于驅(qū)動開發(fā),感覺這本書是必備之書,因為市面上本來這方面的書就不多。唯一的遺憾就是書面的文字太多,密密麻麻的,感覺是一本純文字的書,看著很累,尤其是有不懂的地方的時候!
  •   內(nèi)容還行吧,看了對EBOOT的啟動流程將的還可以,如果作者把NBOOT得內(nèi)容將一下就很好了,可惜他只是把BSP講了一下,如果把如何構(gòu)建基于NBOOT的嵌入式設(shè)備就更好了。
  •   把WINCE6.0BSP部分講解的比較詳細(xì)
  •   偏理論,有點(diǎn)枯燥,開發(fā)人員可作參考書
  •   剛收到書,感覺還不錯,沒有個別人說的舊書的現(xiàn)象。內(nèi)容還沒有仔細(xì)研讀。
  •   感覺挺有難度的,由于本人是學(xué)硬件的,c++這些都不大懂,學(xué)這個wince很累,很難理解。剛剛開始看這本書,覺得有些吃力。
  •   不適合初學(xué)者,有一定基礎(chǔ)的看受益匪淺啊~
  •   比較基礎(chǔ),易懂。例子典型,并且較全面還不錯
  •   內(nèi)容不錯,初學(xué)者不太合適
  •   書還不錯,來不及細(xì)看
  •   買回來學(xué)習(xí)
  •   入門還行
  •   剛收到挺好
  •   總體可以,但購買者最好要有基礎(chǔ)
  •   剛買還沒怎么細(xì)看,但是整體感覺還是不錯的
  •   感覺作者寫得還是不錯的,有很多是個人經(jīng)驗和總結(jié).比市面上很多直接翻譯MSDN的好多啦.
  •   我想象中的書。
  •   太不方便了
  •   對于初學(xué)者來說,學(xué)習(xí)本書有點(diǎn)難度;對于具備WinCE經(jīng)驗的人來說,容易引起共鳴。如果有可能出第二版本,應(yīng)該幫讀者更好地建立WinCE組織結(jié)構(gòu),論述思路更突出,論述內(nèi)容更具體、詳細(xì)。
  •   書寫的很好,寫的很深,值得一看!
  •   對于工程實踐有幫助
  •   這是一本對WinCE內(nèi)核部分源代碼分析的很詳細(xì)的書,我是WinCE的初學(xué)者,雖然讀起來有難度,但是我會多讀幾遍。話說,書讀百遍其義自現(xiàn)。
  •   這本書非常不適合人看,工程中一點(diǎn)都用不到。搞科研的估計也不看這本書。不推薦購買。買書還是買老外寫的,和有點(diǎn)名氣的。能被引進(jìn)的估計差不到哪里,不然早被和諧了。我在亞馬遜買了八九本書了,才被允許評一次。一幫坑爹貨。
  •   做WINCE開發(fā)開發(fā)最重要也是讓你具有競爭力的部分就是驅(qū)動的開發(fā),在本書里系統(tǒng)的講述了這部分類容。其實,一本書好不好,從出版次數(shù)上就可以看到一些。不過,個人建議,看這本書前,最好上網(wǎng)好好了解一下WINCE,再閱讀此書。
  •   值得擁有,快看完才評價的.wince資料跟linux比著真是太少了,要是linux不用買書直接上網(wǎng)就可以入門;對應(yīng)wince來說,這一本還算不錯,是真正動過手的人寫的書.如果只是拿著這本書看,也許一些部分難以理解,那是正常的,并不代表書寫的不好. 閱讀更多
  •   Windows CE工程實踐完全解析 ,講解WinCE6.0很好!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7