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