圖書目錄
序前言
第1章 Windows CE驅動簡介
1.1 什麼是驅動
1.1.1 驅動的概念
1.1.2 驅動的角色
1.2 驅動的種類
1.2.1 單層驅動和分層驅動
1.2.2 內置驅動和流驅動
1.2.3 用戶和核心模式驅動
1.3 何時需要驅動
1.4 驅動開發的步驟
1.5 Windows CE共享的驅動代碼
第2章 Windows CE下驅動程式的中斷處理
2.1 Windows CE中斷的相關概念
2.2 中斷處理
2.2.1 中斷服務
2.2.2 中斷禁止
2.2.3 嵌套中斷處理
2.2.4 共享中斷處理
2.2.5 中斷處理過程分析
2.2.6 配置、註冊、並撤消一個中斷處理程式
2.3 中斷服務例程
2.3.1 安裝ISR和設備驅動程式
2.3.2 安裝一個ISR並等待中斷事件的產生
2.3.3 編譯一個ISR錯誤分析
2.3.4 安裝ISR和核心
2.4 中斷服務執行緒(IST)
2.5 中斷通知
第3章 Windows CE下驅動程式的管理
3.1 設備管理器的角色
3.2 設備管理器的架構
3.3 設備管理器相關註冊表鍵
3.4 設備檔案名稱稱
3.5 I/O資源管理器
3.6 設備管理器相關API介紹
3.6.1 設備管理器枚舉類型
3.6.2 設備管理器常用函式介紹
第4章 Windows CE下驅動程式的訪問控制
4.1 DMA
4.1.1 Windows CE傳統處理方法
4.1.2 Windows CE處理DMA的新方法
4.2 驅動程式的記憶體訪問
4.3 匯流排無關驅動程式
4.4 匯流排相關驅動程式
4.4.1 匯流排命名
4.4.2 匯流排驅動相關註冊表鍵介紹
4.4.3 匯流排驅動電源回調
4.5 匯流排枚舉器
4.6 設備接口類
4.7 設備接口通知
第5章 Windows CE下流接口驅動程式設計方法
5.1 流接口驅動程式簡介
5.2 流接口驅動程式架構
5.3 流接口驅動程式的實現
5.3.1 流接口驅動程式入口點
5.3.2 單通道和多通道
5.4 流接口函式介紹
5.5 開發一個標準流驅動程式的完整流程
5.5.1 創建驅動STD
5.5.2 註冊表中註冊設備驅動程式
5.5.3 將設備驅動程式打包到Windows CE的鏡像檔案中
5.5.4 創建設備驅動程式的.def‘檔案
5.5.5 編寫驅動測試程式
5.6 編寫串口驅動程式
5.6.1 串口工作原理分析
5.6.2 編寫串口驅動程式的準備工作
5.6.3 填寫相關流接口函式
5.6.4 小結
第6章 Windows CE驅動程式的調試方法
6.1 使用CETK測試一個驅動程式的必要軟硬體條件
6.2 使用CETK測試一個驅動程式的完整過程
6.2.1 使用CETK提供的模組測試設備驅動程式
6.2.2 使用自定義的模組測試設備驅動程式
第7章 編寫GPIO驅動程式
7.1 Vortex86SX SoC簡介
……
第8章 編寫看門狗驅動程式
第9章 編寫音頻驅動程式
第10章 編寫塊驅動程式
第11章 移植Windows CE其他版本的驅動到Windows CE 6.0
第12章 板級支持包
第13章 Windows CE下Boot Loader的分析
第14章 開發Boot Loader
第15章 Windows CE下OAL的分析
第16章 如何開發OAL
第17章 創建Windows CE配置檔案
第18章 項目實例——家庭智慧型化系統開發
參考文獻
跋
書摘
第1章 Windows CE驅動簡介
當一個嵌入式產品的項目確定要開發時,我們首先應該選擇合適的硬體平台,當硬體平台明確之後,就要考慮選用什麼類型的嵌入式作業系統。如果選用Windows CE作為作業系統,那么進行上層應用程式的開發將會變得非常簡單。不過這需要有一個前提條件:要提供與該硬體平台對應的BSP和足夠的驅動程式。這是Windows CE開發的一個技術難點。那么如何給自己的主機板開發合適的BSP呢?沒有研發能力的公司往往把這外包出去,甚至連硬體都是買市場上已有的。當然,如果使用技術功底深厚的公司的板卡,他們提供的BSP質量較高,能夠避免應用程式開發過程中的不少麻煩。但是,如果由於某種特殊的需要,要求公司自己開發BSP,那么就有必要分析BSP的開發流程,在:BSP的開發過程中,驅動開發又是一個重頭戲,因此本書將用11個章節的篇幅介紹驅動開發的相關原理,開發流程並分析一些驅動程式的實例,之後再介紹BSP相關部分的開發。
對於一個套用工程師來說,覺得驅動開發非常神秘,沒有任何開發思路。其實驅動開發並不是想像中的那么難,對於從事驅動開發的經驗非常豐富的人來說,驅動開發基本上就是參考數據手冊(datasheet),把相關的數據放到對應的位置這么簡單。不過要想成為一個驅動開發的高手,必要的磨鍊是不可缺少的。筆者認為學習驅動開發,應從基礎開始,不要搞跳躍式學習,否則寫出來的驅動程式雖然可以動作,但是在實際工作過程中往往漏洞百出,這樣驅動程式通常是經不起嚴格測試的。下面先介紹Windows CE驅動的概況。
……