出版時(shí)間:2011-8 出版社:中國(guó)電力 作者:徐成//秦云川//劉彥
Tag標(biāo)簽:無(wú)
內(nèi)容概要
徐成、秦云川、劉彥編著的《Windows
CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)》以普通軟件開發(fā)人員的視角,由淺入深地介紹了有關(guān)Windows
CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)的相關(guān)知識(shí)。
《Windows CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)》分四篇共18章。第一篇是第1
~3章,主要介紹了嵌人式系統(tǒng)的基本概念以及Windows CE操作系統(tǒng)的一些基本知識(shí);第二篇是第4~9章,主要介紹了 Windows
CE操作系統(tǒng)定制的機(jī)制以及系統(tǒng)運(yùn)行所依賴的關(guān)鍵組件的移植和開發(fā),包括BootLoader和OAL;第三篇是第10~17章,主要介紹了Windows
CE操作系統(tǒng)下常見驅(qū)動(dòng)程序的開發(fā)知識(shí),包括流接口驅(qū)動(dòng)程序以及其他專用接口驅(qū)動(dòng)程序;第四篇是在前三篇的基礎(chǔ)上進(jìn)行舉例說(shuō)明,主要介紹了一個(gè)基于Windows
CE的鼠標(biāo)設(shè)備的驅(qū)動(dòng)程序開發(fā)過(guò)程。
《Windows
CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)》可作為高等院校電子信息、計(jì)算機(jī)等專業(yè)本科生、研究生學(xué)習(xí)嵌人式 Windows
CE的參考書目或自學(xué)教材,也可供廣大從事嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員參考使用。
書籍目錄
前言
第1篇 基礎(chǔ)知識(shí)篇
第1章 Windows CE概述
1.1 嵌入式系統(tǒng)的概念
1.2 嵌入式系統(tǒng)的特點(diǎn)
1.3 嵌入式系統(tǒng)基本結(jié)構(gòu)
1.4 嵌入式系統(tǒng)發(fā)展歷程
1.5 嵌入式系統(tǒng)的應(yīng)用
1.6 嵌入式操作系統(tǒng)
1.7 Windows CE發(fā)展歷史
1.8 Windows CE的特點(diǎn)
本章小結(jié)
第2章 建立Windows CE映像
2.1 開發(fā)平臺(tái)的搭建與配置
2.2 Windows CE內(nèi)核定制流程
本章小結(jié)
第3章 初識(shí)Windows CE映像文件
3.1 內(nèi)核與文件系統(tǒng)
3.2 BIN和NB0
3.3 NK文件
本章小結(jié)
第2篇 內(nèi)核移植篇
第4章 內(nèi)核定制
4.1 Windows CE 6.0的目錄結(jié)構(gòu)
4.2 內(nèi)核的構(gòu)建過(guò)程
4.3 系統(tǒng)的配置文件
4.4 Catalog Item文件
本章小結(jié)
第5章 總線與處理器
5.1 嵌入式處理器
5.2 嵌入式處理器構(gòu)架
5.3 存儲(chǔ)器與外設(shè)接口
5.4 靜態(tài)存儲(chǔ)器
5.5 動(dòng)態(tài)存儲(chǔ)器
5.6 虛擬地址與實(shí)地址
5.7 系統(tǒng)運(yùn)行機(jī)制
本章小結(jié)
第6章 深入理解Windows CE 6.0
6.1 系統(tǒng)結(jié)構(gòu)概覽
6.2 系統(tǒng)內(nèi)核
6.3 內(nèi)存管理
6.4 文件系統(tǒng)與存儲(chǔ)管理
6.5 設(shè)備管理器
6.6 圖形窗口事件子系統(tǒng)
第7章 初識(shí)BSP開發(fā)
7.1 BSP概述
7.2 Eboot的基本結(jié)構(gòu)
7.3 OAL層的基本結(jié)構(gòu)
第8章 EBOOT開發(fā)實(shí)例
8.1 PXA255嵌入式處理器
8.2 Eboot引導(dǎo)過(guò)程
8.3 開發(fā)板的網(wǎng)絡(luò)接口
8.4 Eboot的網(wǎng)絡(luò)下載代碼
8.5 開發(fā)板的Flash芯片
8.6 Eboot燒寫Flash過(guò)程
第9章 OAL開發(fā)實(shí)例
9.1 建立存儲(chǔ)映射
9.2 OAL的內(nèi)核啟動(dòng)過(guò)程
9.3 Production-Quality OAL
9.4 OAL的硬件抽象功能
9.5 BSP的配置文件
第3篇 驅(qū)動(dòng)開發(fā)篇
第10章 流驅(qū)動(dòng)程序
10.1 概述
10.2 流驅(qū)動(dòng)程序接口
10.3 設(shè)備管理器
10.4 流驅(qū)動(dòng)實(shí)例
10.5 設(shè)備驅(qū)動(dòng)程序的訪問(wèn)注冊(cè)表
10.6 設(shè)備驅(qū)動(dòng)程序的內(nèi)存管理
10.7 設(shè)備驅(qū)動(dòng)程序的中斷處理
10.8 Production—Quality Drivers
10.9 驅(qū)動(dòng)程序的電源管理
第11章 串口驅(qū)動(dòng)程序
11.1 硬件原理
11.2 內(nèi)核配置
11.3 代碼分析
本章小結(jié)
第12章 網(wǎng)絡(luò)驅(qū)動(dòng)程序
12.1 EthDbg驅(qū)動(dòng)程序
12.2 NDIS微端口驅(qū)動(dòng)
12.3 NDIS驅(qū)動(dòng)開發(fā)編程要素
12.4 主要功能及相關(guān)函數(shù)
本章小結(jié)
第13章 顯示驅(qū)動(dòng)程序
13.1 概述
13.2 顯示驅(qū)動(dòng)程序的注冊(cè)鍵
13.3 內(nèi)核調(diào)用中的顯示驅(qū)動(dòng)接口
13.4 PXA255 LCD控制器
13.5 使用GPE實(shí)現(xiàn)顯示驅(qū)動(dòng)程序
13.6 DDI函數(shù)參考
本章小結(jié)
第14章 觸摸屏驅(qū)動(dòng)程序
14.1 觸摸屏的工作原理
14.2 觸摸屏驅(qū)動(dòng)程序的軟件結(jié)構(gòu)
14.3 觸摸屏驅(qū)動(dòng)的設(shè)計(jì)實(shí)例
本章小結(jié)
第15章 OSB驅(qū)動(dòng)程序
15.1 USB的基本原理
15.2 USB Function驅(qū)動(dòng)程序
15.3 USB主機(jī)驅(qū)動(dòng)程序
15.4 USB驅(qū)動(dòng)程序情景分析
15.5 USB設(shè)備驅(qū)動(dòng)程序?qū)嵗?br /> 第16章 SD總線驅(qū)動(dòng)程序
16.1 SD總線概述
16.2 MMC/SD卡設(shè)備接口
16.3 微軟SD總線協(xié)議棧
16.4 SD總線控制器驅(qū)動(dòng)程序的結(jié)構(gòu)
16.5 SD客戶驅(qū)動(dòng)程序
本章小結(jié)
第17章 驅(qū)動(dòng)程序調(diào)試與測(cè)試
17.1 斷點(diǎn)
17.2 控制調(diào)試信息的輸出
17.3 CE測(cè)試套件
17.4 硬件輔助測(cè)試工具
第4篇 工程實(shí)踐篇
第18章 HID設(shè)備開發(fā)實(shí)例
18.1 小Q的HID設(shè)備
18.2 搭建開發(fā)環(huán)境
18.3 復(fù)制代碼
18.4 加入驅(qū)動(dòng)程序到系統(tǒng)映像
18.5 等待打印機(jī)的出現(xiàn)
18.6 從打印機(jī)到鼠標(biāo)
18.7 清除感嘆號(hào)
18.8 加入應(yīng)用程序
18.9 運(yùn)行程序
本章小結(jié)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁(yè):插圖:從這個(gè)描述可以看出:①M(fèi)MU為每個(gè)進(jìn)程都準(zhǔn)備了一張表。操作系統(tǒng)在調(diào)度一個(gè)進(jìn)程執(zhí)行的之前,事先就設(shè)置了MMU的這個(gè)currProcess;②MMU沒有為每一個(gè)存儲(chǔ)器單元設(shè)置一個(gè)表項(xiàng),而是為每一個(gè)內(nèi)存范圍設(shè)置一個(gè)表項(xiàng),每一個(gè)內(nèi)存范圍稱為一頁(yè)。所以,它能控制粒度是以頁(yè)為單位的。上面代碼寫的是8,處理器的設(shè)計(jì)者在設(shè)計(jì):MMU的時(shí)候,會(huì)根據(jù)處理器的整體情況進(jìn)行權(quán)衡;③MMU需要得到外部存儲(chǔ)器的支持,因?yàn)樗糜幸粡埍碛糜诖鎯?chǔ)每個(gè)進(jìn)程的物理地址與虛擬地址的對(duì)應(yīng)關(guān)系,這個(gè)表太大了以至于必須得依靠外部存儲(chǔ);④程序在執(zhí)行存儲(chǔ)器訪問(wèn)的時(shí)候,至少先得等MMU訪問(wèn)一次存儲(chǔ)器得到進(jìn)程的虛擬地址/物理地址對(duì)應(yīng)項(xiàng)之后,才能進(jìn)行實(shí)際的數(shù)據(jù)讀寫操作。而實(shí)際上,MMU的設(shè)計(jì)者們通常會(huì)設(shè)計(jì)一張快表,這個(gè)快表實(shí)際上就是一種快速緩存。把經(jīng)常用到的轉(zhuǎn)換關(guān)系表放在MMU里面,從而加快了系統(tǒng)的訪問(wèn)存儲(chǔ)器時(shí)間。這個(gè)快速緩存就叫做快表,又名TLB。自從有了MMU,處理器上使用的地址就是虛擬地址了。虛擬地址與實(shí)際的物理地址是不同的,每個(gè)進(jìn)程所使用的虛擬地址也是不同的?,F(xiàn)在,進(jìn)程需要空間存儲(chǔ)數(shù)據(jù)的時(shí)候,不能再像以前那樣隨意指定了一個(gè)地址就可以了,需要向操作系統(tǒng)申請(qǐng)(一個(gè)申請(qǐng)就是一個(gè)系統(tǒng)調(diào)用,內(nèi)存申請(qǐng)可以使用malloc類的系統(tǒng)調(diào)用),并寫明想要的存儲(chǔ)空間大小。操作系統(tǒng)總會(huì)盡量滿足申請(qǐng)者的要求。即使物理內(nèi)存不夠,通常也會(huì)想辦法,左挪一下,右挪一下,給程序騰出一塊物理內(nèi)存。而且它先到MMU那里去看看這個(gè)進(jìn)程所對(duì)應(yīng)的虛擬地址表,找一塊它還沒有用的虛擬地址,將物理地址填進(jìn)去,打開這個(gè)進(jìn)程的讀寫權(quán)限。然后在自己的表里也記上一筆。最后將申請(qǐng)批復(fù)給這個(gè)進(jìn)程:“同意”(返回給進(jìn)程該物理地址對(duì)應(yīng)的虛擬地址)。雖然只能告訴操作系統(tǒng)自己申請(qǐng)大小,不能確定內(nèi)存的實(shí)際物理地址。但是對(duì)于程序來(lái)說(shuō),反正都是存儲(chǔ)數(shù)據(jù),存哪里不一樣呢?但對(duì)于想操作外設(shè)的程序來(lái)說(shuō),同樣掛載存儲(chǔ)總線上的外設(shè)與存儲(chǔ)器有著稍微的不同,外設(shè)的每個(gè)存儲(chǔ)單元對(duì)應(yīng)的功能是不一樣的。外設(shè)的驅(qū)動(dòng)程序不僅要存儲(chǔ)空間,而且還有一個(gè)固定的物理地址。操作系統(tǒng)一方面需要其他程序來(lái)指揮外設(shè)動(dòng)作,另一方面又要保證整個(gè)計(jì)算機(jī)的正常工作。我們把操作外設(shè)的這些程序命名為外設(shè)驅(qū)動(dòng)程序,有時(shí)也直接稱為驅(qū)動(dòng)程序。第一個(gè)辦法是Windows CE的早期版本經(jīng)常用到的,就是簽名。
編輯推薦
《Windows CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā)》為Windows CE項(xiàng)目開發(fā)實(shí)踐叢書之一。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Windows CE內(nèi)核定制與驅(qū)動(dòng)程序開發(fā) PDF格式下載