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