基本信息
一本關於WindowsCE技術開發的書
目錄
第一篇 Windows CE基礎
第1章 Windows Embedded概述 (3)
1.1 智慧型設備與微軟嵌入式系統 (3)
1.2 Windows Embedded概述 (4)
1.3 深入了解Windows Embedded (7)
1.3.1 Windows Embedded Standard (8)
1.3.2 Windows Embedded for Point of Service (8)
1.3.3 Windows Embedded Enterprise (9)
1.3.4 Windows Embedded NavReady (9)
1.4 Windows CE (10)
1.4.1 Windows CE的設計目標 (10)
1.4.2 Windows CE的特徵 (12)
1.4.3 Windows CE的版本 (14)
1.5 Windows CE與Windows XP Embedded (16)
1.6 Windows CE與Windows Mobile (18)
1.7 Windows CE與Windows Automotive (19)
1.8 Windows CE的原始碼共享 (19)
本章小結 (21)
第2章 深入理解Windows CE (22)
2.1 系統架構 (22)
2.1.1 硬體層 (23)
2.1.2 OEM層 (23)
2.1.3 作業系統層 (23)
2.1.4 套用層 (25)
2.2 檔案系統 (26)
2.2.1 對象存儲 (27)
2.2.2 檔案系統 (28)
2.2.3 資料庫 (30)
2.2.4 註冊表 (31)
2.2.5 檔案管理器 (32)
2.3 記憶體管理 (33)
2.3.1 ROM和RAM (33)
2.3.2 虛擬記憶體模型 (34)
2.3.3 虛擬地址映射 (35)
2.3.4 用戶地址空間 (38)
2.4 系統調度 (39)
2.4.1 模組 (40)
2.4.2 進程 (41)
2.4.3 執行緒 (43)
2.4.4 纖程 (47)
2.4.5 同步對象 (48)
本章小結 (54)
第3章 Windows CE開發平台的構建與配置 (55)
3.1 開發工作站——目標設備平台 (55)
3.1.1 Geode X86目標設備平台 (55)
3.1.2 Samsung S3C2410/Intel xScale目標設備平台 (55)
3.1.3 Pocket PC應用程式目標設備平台 (57)
3.2 作業系統開發平台 (57)
3.2.1 Platform Builder簡介 (57)
3.2.2 Platform Builder的安裝與配置 (59)
3.3 應用程式開發平台 (63)
3.3.1 eMbedded Visual C++簡介 (63)
3.3.2 eMbedded Visual C++ 4.0的安裝與配置 (64)
3.3.3 Visual Studio .NET 2003簡介 (69)
3.3.4 Visual Studio .NET 2003的安裝與配置 (70)
3.3.5 Pocket PC應用程式開發平台的安裝與配置 (73)
3.3.6 Smartphone應用程式開發平台的安裝與配置 (76)
3.4 Windows CE嵌入式系統開發 (78)
3.4.1 快速平台開發 (78)
3.4.2 並行開發 (80)
3.4.3 典型開發周期 (80)
3.4.4 平台移植 (81)
3.4.5 遞歸開發過程 (81)
本章小結 (82)
第二篇 Windows CE作業系統開發
第4章 Windows CE作業系統創建 (87)
4.1 創建一個作業系統映像設計 (87)
4.1.1 創建作業系統平台設計 (87)
4.1.2 添加必要的特徵 (91)
4.1.3 創建基於模擬器的作業系統映像 (93)
4.1.4 模擬器目標平台的映像下載和調試 (95)
4.1.5 創建Geode目標平台作業系統映像 (99)
4.1.6 Geode目標平台的映像下載和調試 (100)
4.2 Platform Builder的目錄結構 (102)
4.2.1 Platform Builder的安裝目錄 (103)
4.2.2 WINCE500目錄 (103)
4.3 環境變數 (107)
4.3.1 什麼是環境變數 (107)
4.3.2 查看環境變數 (108)
4.3.3 設定環境變數 (110)
4.4 Windows CE映像的創建過程 (111)
4.4.1 系統編譯 (111)
4.4.2 系統產生 (112)
4.4.3 Release複製 (113)
4.4.4 映像創建 (113)
4.5 使用IDE創建作業系統映像 (114)
4.5.1 集成開發環境 (114)
4.5.2 Catalog視窗 (114)
4.5.3 Workspace (120)
4.5.4 Build OS命令 (123)
4.6 命令行工具 (123)
4.6.1 Build.exe (125)
4.6.2 Sysgen.bat (127)
4.6.3 Buildrel.bat (127)
4.6.4 Makimg.exe (127)
4.6.5 Wince.bat (127)
4.6.6 Blddemo.bat (128)
4.6.7 Cebuild.bat (129)
4.6.8 使用命令行工具創建運行時OS映像 (129)
4.7 映像配置檔案 (129)
4.7.1 BIB檔案 (130)
4.7.2 REG檔案 (133)
4.7.3 DAT檔案 (135)
4.7.4 DB檔案 (136)
4.8 組件定義及套用 (137)
4.8.1 CEC檔案 (137)
4.8.2 CEC編輯器 (140)
4.8.3 添加組件定義到Catalog (141)
本章小結 (142)
第5章 Windows CE作業系統映像調試 (143)
5.1 核心調試器 (143)
5.2 斷點 (144)
5.3 遠程調試工具 (146)
5.3.1 設定平台管理器 (146)
5.3.2 Remote Call Profiler (148)
5.3.3 Remote File Viewer (150)
5.3.4 Remote Performance Monitor (151)
5.3.5 Remote Registry Editor (152)
5.3.6 Remote Kernel Tracker (152)
5.3.7 Remote Process Viewer (154)
5.3.8 Remote System Information (155)
5.3.9 Remote Zoom-in (155)
5.3.10 Remote Heap Walker (155)
5.3.11 Remote Spy (156)
5.4 IDE調試命令 (157)
5.4.1 Run Programs (157)
5.4.2 CE Debug Zones (157)
5.4.3 CE Target Control (162)
5.4.4 CE Processes (163)
5.4.5 CE Threads (163)
5.4.6 CE Modules and Symbols (164)
5.4.7 CE Exceptions (164)
5.5 其他調試技術 (165)
5.5.1 邏輯分析儀 (165)
5.5.2 調試LED (166)
5.5.3 JTAG (166)
本章小結 (167)
第三篇 Windows CE BSP開發
第6章 Windows CE的Bootloader (171)
6.1 什麼是Bootloader (171)
6.1.1 PC與嵌入式系統的引導過程 (171)
6.1.2 Bootloader的概念 (172)
6.2 作業系統的引導模式 (172)
6.2.1 Bootloader引導模式 (172)
6.2.2 非Bootloader引導模式 (173)
6.3 特殊的Bootloader (174)
6.3.1 X86 BIOS Bootloader (174)
6.3.2 X86 Serial Bootloader (176)
6.3.3 X86 ROM Bootloader (176)
6.4 引導選項 (177)
6.4.1 Bootloader通信 (177)
6.4.2 Bootloader的功能選單 (178)
6.4.3 Bootloader的典型特徵 (178)
6.5 Bootloader的控制流程 (180)
6.5.1 Bootloader的架構 (180)
6.5.2 Bootloader的組件 (181)
6.5.3 Bootloader的控制流程 (182)
6.6 Bootloader開發中的幾個關鍵技術 (186)
6.6.1 Bootloader的開發調試方法 (186)
6.6.2 Bootloader的BIB檔案 (187)
6.6.3 Bootloader的啟動參數與全局緩衝區 (192)
6.6.4 Bootloader對Flash存儲器的支持 (196)
本章小結 (202)
第7章 Windows CE的OAL (203)
7.1 OAL與PQOAL (203)
7.1.1 OAL與PQOAL的概念 (203)
7.1.2 PQOAL的目錄結構 (204)
7.1.3 PQOAL的配置檔案 (205)
7.1.4 PQOAL的架構 (206)
7.1.5 PQOAL的組件 (207)
7.2 Windows CE作業系統的啟動順序 (208)
7.3 OAL開發概覽 (210)
7.3.1 必要的OAL功能 (211)
7.3.2 可選的OAL功能 (234)
7.4 OAL的電源管理 (245)
7.4.1 電源管理器 (245)
7.4.2 系統電源狀態到設備電源狀態的映射 (246)
7.4.3 電源狀態間的切換 (247)
7.4.4 掛起狀態的GWES控制 (248)
7.4.5 OAL中的電源管理函式 (249)
7.5 OAL的開發流程與實踐 (249)
7.5.1 創建OAL資料夾 (250)
7.5.2 實現OAL的Startup函式 (250)
7.5.3 創建sources和makefile檔案 (250)
7.5.4 編譯Startup源檔案 (251)
7.5.5 創建Kernel資料夾 (251)
7.5.6 創建CPU特定的OAL函式的框架 (251)
7.5.7 創建必要的OAL函式的框架 (252)
7.5.8 創建OAL電源管理函式的框架 (252)
7.5.9 創建OAL中斷處理函式的框架 (252)
7.5.10 創建OAL實時時鐘函式的框架 (252)
7.5.11 創建OEMIoControl函式的框架 (253)
7.5.12 創建OEMAddressTable (253)
7.5.13 創建核心可執行映像 (254)
7.5.14 實現OEMCacheRangeFlush函式 (254)
7.5.15 創建核心配置檔案 (255)
7.5.16 創建Cesysgen資料夾 (255)
7.5.17 創建Dirs檔案 (255)
7.5.18 創建Nk.bin映像 (255)
7.5.19 實現串口調試函式 (255)
7.5.20 再次創建Nk.bin映像 (256)
7.5.21 實現OEMInit函式 (256)
7.5.22 實現中斷相關的函式 (256)
7.5.23 實現電源管理函式 (259)
7.5.24 三次創建Nk.bin映像 (266)
7.5.25 為OEMInit添加KITL初始化代碼 (266)
7.5.26 為運行時映像添加目標控制Shell (266)
7.5.27 四次創建Nk.bin映像 (266)
7.5.28 實現RTC函式 (266)
7.5.29 定製記憶體的用法 (266)
7.5.30 實現OEMIoControl函式 (267)
7.6 創建OAL和核心 (267)
本章小結 (268)
第8章 Windows CE的驅動程式 (270)
8.1 驅動程式的分類 (270)
8.1.1 驅動程式的概念 (270)
8.1.2 內建的驅動程式與可安裝的驅動程式 (270)
8.1.3 分層的驅動程式與不分層的驅動程式 (271)
8.1.4 本地驅動程式與流接口驅動程式 (272)
8.2 驅動程式原始碼 (274)
8.3 設備管理器 (274)
8.4 驅動程式的資源 (275)
8.4.1 資源管理器 (275)
8.4.2 設備驅動的中斷處理和IST模型 (276)
8.4.3 設備驅動程式的記憶體管理 (281)
8.5 驅動程式的載入機制 (286)
8.5.1 驅動程式的載入過程 (286)
8.5.2 ActivateDeviceEx (287)
8.5.3 匯流排枚舉器 (287)
8.6 匯流排驅動 (290)
8.6.1 Bus Agnostic驅動 (291)
8.6.2 PCI匯流排驅動 (293)
8.6.3 PC Card匯流排驅動 (295)
8.7 流接口設備驅動 (296)
8.7.1 流接口設備驅動的架構 (296)
8.7.2 流接口驅動的實現 (296)
8.7.3 流接口函式 (297)
8.8 驅動程式的電源管理 (302)
8.8.1 電源管理的架構 (302)
8.8.2 電源狀態 (303)
8.8.3 電源管理接口 (304)
8.8.4 在驅動程式中添加電源管理 (305)
8.9 CEDDK (306)
8.9.1 地址映射函式 (306)
8.9.2 匯流排訪問函式 (307)
8.9.3 DMA函式 (307)
8.9.4 I/O操作函式 (308)
8.10 驅動程式實例分析 (308)
8.10.1 原始碼分析工具 (309)
8.10.2 ES1371音效卡的驅動程式架構 (309)
8.10.3 ES1371音效卡驅動程式分析 (310)
8.10.4 ES1371音效卡驅動程式註冊表設定 (317)
8.10.5 ES1371音效卡驅動程式的sources檔案 (318)
8.11 USB設備驅動程式 (319)
8.11.1 USB系統的架構 (319)
8.11.2 USB設備驅動程式的結構 (321)
8.11.3 USB設備驅動程式分析 (322)
8.12 USB設備驅動程式開發實例 (331)
8.12.1 獲取USB設備信息 (332)
8.12.2 創建一個作業系統設計平台 (332)
8.12.3 創建驅動程式框架 (333)
8.12.4 編寫驅動程式代碼 (336)
本章小結 (358)
第四篇 Windows CE應用程式開發
第9章 定製Windows CE Shell (361)
9.1 可定製的Windows CE Shell (361)
9.1.1 什麼是Shell (361)
9.1.2 Shell模組和組件 (361)
9.2 Windows CE提供的Shell選項 (362)
9.2.1 命令行Shell (363)
9.2.2 標準Shell (363)
9.2.3 Windows瘦客戶端Shell (364)
9.2.4 任務管理器例Shell (366)
9.3 Shell定製開發的選項 (367)
9.3.1 應用程式作為Shell (367)
9.3.2 瀏覽器作為Shell (367)
9.4 必要的Shell功能 (367)
9.4.1 Shell應用程式 (368)
9.4.2 桌面視窗 (368)
9.4.3 任務條視窗 (368)
9.4.4 任務相關的訊息處理器 (369)
9.5 Shell組件 (370)
9.5.1 Shell相關的API (370)
9.5.2 常用對話框和常用控制項 (371)
9.5.3 控制臺 (371)
9.6 安裝運行一個定製的Shell (372)
9.7 處理用戶界面的旋轉 (373)
9.7.1 創建一個作業系統設計 (373)
9.7.2 修改註冊表設定 (373)
9.7.3 創建螢幕旋轉應用程式 (374)
9.7.4 創建並下載作業系統運行時映像 (376)
9.7.5 運行螢幕旋轉應用程式測試螢幕旋轉 (377)
9.8 定製用戶界面 (377)
9.8.1 創建一個皮膚 (377)
9.8.2 可以被換膚的用戶界面元素 (378)
9.8.3 附加的用戶界面定製選項 (379)
9.9 Shell定製實例:IEShell (382)
9.9.1 創建一個MyShell作業系統設計 (382)
9.9.2 創建、下載並測試作業系統運行時映像 (382)
9.9.3 創建並測試IEShell應用程式 (382)
9.9.4 設定IEShell為目標設備的Shell (384)
本章小結 (386)
第10章 智慧型設備應用程式開發 (387)
10.1 本地應用程式與可託管應用程式 (387)
10.2 本地應用程式開發 (387)
10.2.1 從Platform Builder導出SDK (387)
10.2.2 安裝SDK (391)
10.3 Windows CE下的Win32編程 (393)
10.3.1 Unicode (393)
10.3.2 Unicode轉換 (394)
10.3.3 字元串輸出 (395)
10.3.4 檔案I/O (396)
10.4 eMbedded Visual C++應用程式開發 (396)
10.4.1 探索eMbedded Visual C++ 4.0 (396)
10.4.2 在模擬器上開發調試 (398)
10.4.3 eVC與Platform Builder的聯合開發調試 (403)
10.5 .NET Compact Framework應用程式開發 (406)
10.5.1 智慧型設備應用程式開發 (406)
10.5.2 添加目標設備對.NET的支持 (408)
10.5.3 創建一個C#智慧型設備應用程式 (409)
10.5.4 在模擬器上部署Windows CE應用程式 (411)
10.5.5 在目標設備上部署智慧型設備應用程式 (412)
10.6 Pocket PC應用程式開發 (414)
10.6.1 創建一個簡單的Pocket PC應用程式 (414)
10.6.2 在模擬器上部署Pocket PC應用程式 (416)
10.6.3 在Pocket PC設備上部署Pocket PC應用程式 (416)
10.7 Smartphone應用程式開發 (418)
10.8 在Windows CE設備上運行Pocket PC應用程式 (420)
本章小結 (421)
第11章 SQL Server CE應用程式開發 (422)
11.1 SQL Server CE簡介 (422)
11.1.1 SQL Server CE的客戶端-伺服器環境 (422)
11.1.2 SQL Server CE的開發環境 (424)
11.2 安裝和配置SQL Server CE開發環境 (425)
11.2.1 SQL Server CE安裝概述 (425)
11.2.2 安裝SQL Server 2000 (426)
11.2.3 安裝IIS (426)
11.2.4 安裝SQL Server CE 2.0 (427)
11.2.5 配置IIS服務對SQL Server CE 2.0的支持 (429)
11.3 編制遠程資料庫複製應用程式 (431)
11.3.1 創建SQL Server 2000資料庫 (433)
11.3.2 創建SQLCECF資料庫複製應用程式 (441)
11.3.3 部署並測試SQLCECF應用程式 (451)
11.3.4 SQL Server CE的資料庫查詢分析器 (452)
11.4 編制遠程數據訪問應用程式 (452)
11.4.1 RDA的架構 (453)
11.4.2 使用Pull方法 (454)
11.4.3 使用Push方法 (455)
11.4.4 使用SubmitSQL方法 (455)
本章小結 (456)
參考文獻 (457)