- 軟(ruǎn)件大小:2.08M
- 軟件語(yǔ)言:中文
- 軟(ruǎn)件類型:國產軟件
- 軟件類別:免費軟件 / 電子圖書
- 更新時間:2017-08-01 09:09
- 運行環境:WinAll, WinXP, Win7, Win8
- 軟件(jiàn)等級(jí):
- 軟件廠(chǎng)商:
- 官方網站:暫無
8.28M/中文(wén)/5.0
24.41M/中文/0.6
50.46M/中文/6.0
29.23M/中文/10.0
34.05M/中文/10.0
UEFI原理與編程pdf是由戴正華編寫的UEFI操作(zuò)係(xì)統遠離和開發配置的編程(chéng)教程,幫助初(chū)學者更(gèng)好的掌握UEFI的基礎和理(lǐ)論學習,綠色資源網誠意推薦(jiàn)!
《UEFI原理(lǐ)與編程》以實戰為導向,麵向UEFI的使用者和開發者,首先細致地介紹了UEFI的(de)係統組成、啟動(dòng)過程、優點,以及各種係統(tǒng)中的(de)開發環境搭建;然後深入剖析了UEFI的(de)工作(zuò)原(yuán)理,包括UEFI工程模塊、各種協議、基礎服(fú)務、事件、硬盤和文(wén)件係統(tǒng)等內容;最後講解了UEFI的開發,涉及UEFI服務的開發、UEFI驅(qū)動的開發、多任(rèn)務應用的開發、網絡應用的開發、GUI應用的開發,以及如何用C++和C標準庫開發UEFI應用,等(děng)等。
序
前 言
第1章 UEFI概述 1
1.1 Bioses的前世今生(shēng) 1
1.1.1 Bioses在計算(suàn)機係統中的作用 1
1.1.2 Bioses缺點 2
1.2 初識UEFI 2
1.2.1 UEFI係統組(zǔ)成 3
1.2.2 UEFI的優點 4
1.2.3 UEFI係統(tǒng)的啟動過程 5
1.3 本章小結 12
第2章(zhāng) UEFI 開發環境搭建 14
2.1 配置Windows開發環(huán)境 14
2.1.1 安裝所需開發工具 15
2.1.2 配置(zhì)EDK2開(kāi)發環境 15
2.1.3 編譯UEFI模擬(nǐ)器和UEFI工程 17
2.1.4 運(yùn)行(háng)模擬器 19
2.2 配置Linux 開發環境 21
2.2.1 安裝所需開發工具 22
2.2.2 配置EDK2開(kāi)發環境 22
2.2.3 編譯UEFI模擬(nǐ)器和UEFI工程 23
2.2.4 運行模(mó)擬器(qì) 24
2.3 OVMF的製作和使用 25
2.4 UEFI的(de)啟動 27
2.5 本章小結 28
第3章(zhāng) UEFI工程模塊文件 29
3.1 標準應用程序工程模(mó)塊 30
3.1.1 入口函數 30
3.1.2 工程文件(jiàn) 31
3.1.3 編譯和運行 37
3.1.4 標準應用程序的加載過程 37
3.2 其(qí)他(tā)類型工程模塊 43
3.2.1 Shell應用程序(xù)工程模塊 43
3.2.2 使用main函數的(de)應用程序工程模塊 46
3.2.3 庫模塊 47
3.2.4 UEFI驅動模塊 49
3.2.5 模塊工程文件小(xiǎo)結 50
3.3 包(bāo)及.dsc、.dec、.fdf文件 51
3.3.1 .dsc文件(jiàn) 51
3.3.2 .dec文件 56
3.4 調試UEFI 59
3.5 本章小(xiǎo)結 61
第4章 UEFI中的Protocol 62
4.1 Protocol 在UEFI內核中的表示 64
4.2 如(rú)何使用Protocol服務 65
4.2.1 OpenProtocol服務 66
4.2.2 HandleProtocol服務(wù) 67
4.2.3 LocateProtocol服務(wù) 69
4.2.4 LocateHandleBuffer服務 69
4.2.5 其他一(yī)些使(shǐ)用Protocol的服務 71
4.2.6 CloseProtocol服務 72
4.3 Protocol服務(wù)示例 73
4.4 本章小結 75
第5章 UEFI的基礎服務 76
5.1 係統表(biǎo) 76
5.1.1 係統表的(de)構成(chéng) 77
5.1.2 使用係統表 79
5.2 啟動服(fú)務 82
5.2.1 啟動服務的構成 82
5.2.2 啟(qǐ)動服務的生存期 91
5.3 運行時服務 93
5.4 本章小結 102
第6章 事件 103
6.1 事件函數 104
6.1.1 等待事件的服務(wù)WaitForEvent 105
6.1.2 生成(chéng)事件的服務CreateEvent 106
6.1.3 CreateEventEx服務 110
6.1.4 事件相關的其他函數 112
6.2 定時器事件(jiàn) 113
6.3 任(rèn)務優先級 114
6.3.1 提升和(hé)恢複任務優先級 115
6.3.2 UEFI中的時鍾中斷 116
6.3.3 UEFI事件(jiàn)Notif?ication函數的派發 126
6.4 鼠標和鍵盤事件示例 127
6.5 本章小結 128
第7章 硬盤和(hé)文件係統 129
7.1 GPT硬盤 129
7.1.1 基於MBR分區的傳統硬盤 129
7.1.2 GPT硬盤詳解 130
7.2 設備路徑 134
7.3 硬盤相關的Protocol 139
7.3.1 BlockIo解析 140
7.3.2 BlockIo2解析 142
7.3.3 DiskIo解析 146
7.3.4 DiskIo2解析 147
7.3.5 PassThrough解析 150
7.4 文件係統 152
7.5 文件操作 153
7.5.1 打開文(wén)件 154
7.5.2 讀文件(jiàn) 156
7.5.3 寫文件 159
7.5.4 關閉文件(句柄) 160
7.5.5 其他文件操作(zuò) 160
7.5.6 異步文件操作(zuò) 162
7.5.7 EFI_SHELL_PROTOCOL中的文件操作 166
7.6 本章小(xiǎo)結(jié) 170
第8章 開發UEFI服務 171
8.1 Protocol服務接口設計 172
8.2 Protocol服(fú)務(wù)的實現 174
8.3 服務(wù)型驅動的框架 178
8.4 ffmpeg的移(yí)植與編譯 179
8.4.1 libavcodec的建立(lì)和移植 181
8.4.2 其他庫的(de)建立與移植 182
8.4.3 在驅動型服務中使用StdLib 186
8.5 使用(yòng)Protocol服務 188
8.6 本章小結 190
第9章 開發UEFI驅動 191
9.1 UEFI驅動模(mó)型 192
9.1.1 EFI Driver Binding Protocol的構(gòu)成 192
9.1.2 EFI Component Name Protocol的作用和構成 196
9.2 編寫(xiě)設備驅(qū)動的步驟 197
9.3 PCI設備驅動基礎 199
9.4 AC97控製器芯片的控製(zhì)接口 202
9.5 AC97驅動 206
9.5.1 AC97驅動的驅動服務EFI_AUDIO_PROTOCOL 206
9.5.2 AC97驅動的框(kuàng)架部分 213
9.5.3 AC97驅動實驗 220
9.6 本章小結 221
第10章 用C++開發UEFI應用 222
10.1 從編譯器角度(dù)看C與C++的差異 222
10.2 在EDK2中支持C++ 224
10.2.1 使EDK2支持C++基本特性(xìng) 224
10.2.2 在Windows係統下的程序啟動過程 226
10.2.3 在Windows係統下支持全局構造和析構 229
10.2.4 在Linux係統下的程(chéng)序啟動過程 231
10.2.5 在Linux係統下支持全局(jú)構造和(hé)析(xī)構 240
10.2.6 支持new和delete 242
10.2.7 支持STL 243
10.3 GcppPkg概覽 243
10.4 測試GcppPkg 246
10.5 本章小結 248
第11章 GUI基礎 249
11.1 字符串 249
11.1.1 字符串函數 249
11.1.2 字符串資(zī)源 251
11.1.3 管理字符串資(zī)源 255
11.2 管理語言 260
11.3 包列表 262
11.4 圖形界麵(miàn)顯示(shì) 263
11.4.1 顯示模(mó)式 264
11.4.2 Block Transfer(Blt)傳輸圖像 267
11.4.3 在圖形界(jiè)麵下顯(xiǎn)示字符串 269
11.5 用SimpleFont顯(xiǎn)示中文 272
11.5.1 SimpleFont 格式 273
11.5.2 如何生成(chéng)字(zì)體文件 275
11.5.3 如何注(zhù)冊字(zì)體文件 276
11.6 開發(fā)SimpleFont字庫程序 277
11.7 字(zì)體Font 278
11.7.1 Font的格(gé)式 279
11.7.2 字體包的(de)格式 279
11.7.3 為什麽Font性能高於SimpleFont 281
11.8 本章小結 284
第12章 GUI應用程序 285
12.1 UEFI事件處理 285
12.1.1 鍵盤事件 285
12.1.2 鼠標事(shì)件 292
12.1.3 定時器(qì)事件(jiàn) 293
12.1.4 UI事件(jiàn)服(fú)務類 294
12.2 事件處理框架(jià) 297
12.3 鼠標與控件的繪製 302
12.3.1 鼠標的繪製 303
12.3.2 控(kòng)件的繪(huì)製 305
12.4 控件係統包GUIPkg 306
12.5 簡單視頻(pín)播放(fàng)器的實現 309
12.6 本章小結 315
第(dì)13章 深入了解(jiě)多任務(wù) 317
13.1 多(duō)處理器服務 317
13.1.1 EFI_MP_SERVICES_PROTOCOL功能及用法 317
13.1.2 啟動AP的過程 324
13.2 內聯匯編基礎(chǔ)和寄(jì)存器上下(xià)文(wén)的保存與恢複 333
13.2.1 內聯匯(huì)編基礎 333
13.2.2 寄存(cún)器上下文的保存與恢(huī)複(fù) 335
13.3 多線程 336
13.3.1 生成線程 337
13.3.2 調度線程 340
13.3.3 等待線程結束 341
13.3.4 SimpleThread服務 341
13.4 本章(zhāng)小結 345
第14章 網絡應用開發 346
14.1 在UEFI中(zhōng)使用網(wǎng)絡 348
14.2 使用EFI_TCP4_PROTOCOL 350
14.2.1 生成Socket對象 352
14.2.2 連接 356
14.2.3 傳輸數據 358
14.2.4 關閉Socket 361
14.2.5 測試Socket 362
14.3 本章小結 363
第15章 使用C標(biāo)準庫 364
15.1 為什麽使用(yòng)C標準(zhǔn)庫函數 364
15.2 實現簡單的Std函數 365
15.2.1 簡單標準庫函數包sstdPkg 366
15.2.2 使(shǐ)用sstdPkg 368
15.3 使用EDK2的StdLib 369
15.3.1 main函數工程 369
15.3.2 非main函數工程 374
15.4 本章小結(jié) 376
第16章 Shell及常用Shell命令 377
16.1 Shell的編(biān)譯與執行 377
16.2 Shell服務 379
16.3 Shell腳本 385
16.3.1 Shell腳本語法簡介 385
16.3.2 自動(dòng)運行指定應用程序 388
16.4 Shell內置命令 388
16.4.1 調(diào)試設備的相關命令 388
16.4.2 驅動相(xiàng)關命令 390
16.4.3 網絡相(xiàng)關命令 392
16.5 本章小結 394
附錄(lù)A UEFI常用術語及簡略語 395
附錄B RFC 4646常用語言列表 397
附(fù)錄C 狀態值 398
附錄D 參考資(zī)料 400
請描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項,請輸入內容