注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計UEFI編程實踐

UEFI編程實踐

UEFI編程實踐

定 價:¥119.00

作 者: 羅冰 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111688853 出版時間: 2021-09-01 包裝: 平裝
開本: 16開 頁數(shù): 378 字數(shù):  

內(nèi)容簡介

  本書系統(tǒng)地介紹了X86、龍芯、飛騰架構(gòu)下的UEFI應用和驅(qū)動開發(fā),系統(tǒng)調(diào)試專家、《軟件調(diào)試》作者張銀奎,以及UEFI專家、《UEFI原理與編程》作者戴正華聯(lián)袂推薦。本書以項目開發(fā)為導向,采取“近實戰(zhàn),多實例”的方式,細致深入地介紹了UEFI應用和驅(qū)動開發(fā)相關(guān)的知識。 第1~3章,介紹了UEFI系統(tǒng)的組成、啟動過程,在各種操作系統(tǒng)中搭建和調(diào)試開發(fā)環(huán)境的方法,以及UEFI應用和驅(qū)動開發(fā)的基本方法。第4~10章以實際的開發(fā)實踐為索引,介紹了圖形圖像開發(fā)、漢字顯示、GUI構(gòu)建、訪問PCI/PCIE設(shè)備、訪問SMBus設(shè)備、訪問串口設(shè)備、實現(xiàn)USB通信和網(wǎng)絡(luò)通信等內(nèi)容。這部分以貼近實際開發(fā)的方式來構(gòu)建實例,并深入剖析相關(guān)硬件協(xié)議及其在UEFI上的實現(xiàn)。第11章和第12章,講解了龍芯和飛騰架構(gòu),以及如何在這兩類國產(chǎn)處理器上進行UEFI軟件開發(fā)。

作者簡介

  羅 冰 物理隔離安全領(lǐng)域?qū)<?,主導開發(fā)過網(wǎng)絡(luò)隔離卡、雙網(wǎng)隔離機、國產(chǎn)隔離系統(tǒng)、單向光傳輸系統(tǒng)等各類安全產(chǎn)品,擁有十幾項發(fā)明和實用新型專利。致力于UEFI技術(shù)的研究、實踐,以及相關(guān)產(chǎn)品的開發(fā),在CSDN和知乎上設(shè)有“UEFI開發(fā)探索”專欄。譯著有《現(xiàn)代X86匯編語言程序設(shè)計》《21世紀機器人》,目前就職于國內(nèi)某網(wǎng)絡(luò)安全公司,擔任總工程師。

圖書目錄

●第1章 UEFI的世界 1
1.1 Legacy BIOS1
1.1.1 Legacy BIOS的啟動過程2
1.1.2 Legacy BIOS的不足之處4
1.2 UEFI BIOS6
1.2.1 UEFI標準概述6
1.2.2 UEFI BIOS的優(yōu)點8
1.2.3 UEFI BIOS的啟動過程9
1.2.4 國產(chǎn)計算機與UEFI13
1.3 本章小結(jié)15

●第2章 UEFI開發(fā)和調(diào)試環(huán)境搭建16
2.1 搭建Windows下的UEFI開發(fā)環(huán)境17
2.1.1 安裝開發(fā)工具17
2.1.2 配置開發(fā)環(huán)境18
2.1.3 編譯UEFI模擬器和UEFI程序20
2.1.4 使用模擬器運行UEFI程序22
2.2 Windows下調(diào)試UEFI程序24
2.2.1 使用Visual Studio調(diào)試UEFI程序24
2.2.2 使用WINDBG調(diào)試UEFI程序27
2.3 搭建Linux下的UEFI開發(fā)環(huán)境30
2.3.1 安裝開發(fā)工具31
2.3.2 配置開發(fā)環(huán)境32
2.3.3 編譯UEFI模擬器和UEFI程序32
2.3.4 使用模擬器運行UEFI程序33
2.4 Linux下調(diào)試UEFI程序34
2.4.1 使用GDB調(diào)試UEFI程序34
2.4.2 使用Intel UDK Debugger Tool和GDB調(diào)試UEFI程序37
2.5 制作UEFI啟動盤40
2.6 本章小結(jié)41

●第3章 構(gòu)建UEFI應用42
3.1 模塊和包概述42
3.2 搭建UEFI工程模塊44
3.2.1 DSC文件44
3.2.2 INF文件50
3.2.3 3種入口函數(shù)的UEFI應用55
3.2.4 庫模塊的編寫61
3.2.5 其他工程文件63
3.3 搭建UEFI包72
3.3.1 包的DSC和DEC文件72
3.3.2 添加并編譯模塊73
3.4 用C++編寫UEFI應用74
3.4.1 支持基礎(chǔ)功能75
3.4.2 支持全局類77
3.5 使用UEFI Protocol81
3.5.1 Protocol概述81
3.5.2 支持使用Protocol的函數(shù) 83
3.5.3 使用Protocol示例91
3.6 本章小結(jié)93

●第4章 圖形與漢字顯示94
4.1 UEFI圖形顯示95
4.1.1 圖形顯示的Protocol 95
4.1.2 圖形顯示基本函數(shù)的實現(xiàn)101
4.2 UEFI漢字顯示—寫像素點的方式107
4.2.1 點陣字的顯示與字庫提取108
4.2.2 寫像素點的漢字顯示110
4.3 UEFI漢字顯示—HII方式115
4.3.1 HII字體與字庫提取116
4.3.2 HII漢字顯示119
4.3.3 HII字符串127
4.4 本章小結(jié)132

●第5章 圖像顯示及特效133
5.1 UEFI圖像顯示—寫屏方式134
5.1.1 BMP圖像顯示 134
5.1.2 PCX圖像顯示140
5.1.3 JPEG圖像顯示145
5.2 UEFI圖像顯示—HII方式150
5.2.1 圖像處理Protocol150
5.2.2 HII圖像顯示153
5.3 圖像顯示的特效 157
5.3.1 圖像塊處理基本函數(shù)的實現(xiàn)157
5.3.2 顏色變換特效161
5.3.3 鏡像顯示165
5.3.4 圖像塊顯示與清屏166
5.4 本章小結(jié)170

●第6章 GUI開發(fā)與移植172
6.1 支持GUI的基礎(chǔ)服務(wù) 172
6.1.1 UEFI事件處理 173
6.1.2 UEFI鍵盤處理179
6.1.3 UEFI鼠標處理 185
6.1.4 構(gòu)建GUI框架186
6.2 開源GUI框架191
6.2.1 GuiLite介紹191
6.2.2 使用GuiLite編程 195
6.3 GUI框架的移植200
6.4 本章小結(jié)203

●第7章 UEFI環(huán)境下訪問外設(shè)205
7.1 訪問PCI/PCIE設(shè)備205
7.1.1 與PCI/PCIE設(shè)備通信的機制206
7.1.2 支持訪問PCI/PCIE設(shè)備的Protocol209
7.1.3 訪問PCI/PCIE設(shè)備示例213
7.2 訪問SMBus設(shè)備216
7.2.1 SMBus協(xié)議簡介216
7.2.2 支持訪問SMBus設(shè)備的Protocol218
7.2.3 訪問SMBus設(shè)備示例220
7.3 訪問串口設(shè)備223
7.3.1 串口協(xié)議簡介223
7.3.2 支持訪問串口設(shè)備的Protocol225
7.3.3 訪問串口設(shè)備示例228
7.4 本章小結(jié)230

●第8章 UEFI驅(qū)動與Option ROM232
8.1 服務(wù)型驅(qū)動233
8.1.1 安裝與卸載Protocol233
8.1.2 構(gòu)建服務(wù)型驅(qū)動236
8.1.3 訪問示例Protocol242
8.2 UEFI驅(qū)動模型243
8.2.1 EFI Driver Binding Protocol 243
8.2.2 EFI Component Name Protocol247
8.2.3 完成驅(qū)動框架及其測試248
8.2.4 構(gòu)建UEFI驅(qū)動及其測試程序251
8.2.5 測試UEFI驅(qū)動256
8.3 編寫Option ROM258
8.3.1 PCI Option ROM簡介258
8.3.2 編寫UEFI Option ROM264
8.3.3 編譯及測試Option ROM268
8.4 本章小結(jié)272

●第9章 UEFI與USB273
9.1 USB規(guī)范簡介274
9.1.1 USB通信原理276
9.1.2 USB描述符280
9.1.3 USB標準命令285
9.1.4 USB HID設(shè)備287
9.2 支持USB訪問的Protocol292
9.2.1 EFI_USB2_HC_PROTOCOL292
9.2.2 EFI_USB_IO_PROTOCOL294
9.2.3 列舉USB控制器和設(shè)備297
9.3 訪問USB HID設(shè)備299
9.3.1 制作USB HID設(shè)備299
9.3.2 在UEFI下訪問USB HID設(shè)備305
9.4 本章小結(jié)307

●第10章 UEFI與網(wǎng)絡(luò)309
10.1 準備UEFI網(wǎng)絡(luò)測試環(huán)境311
10.1.1 搭建Nt32模擬器的網(wǎng)絡(luò)環(huán)境311
10.1.2 在真實UEFI環(huán)境下使用網(wǎng)絡(luò)313
10.1.3 在虛擬機UEFI環(huán)境下使用網(wǎng)絡(luò):VirtualBox314
10.1.4 在虛擬機UEFI環(huán)境下使用網(wǎng)絡(luò):QEMU314
10.1.5 IPv6網(wǎng)絡(luò)測試環(huán)境搭建316
10.2 使用UEFI Protocol開發(fā)網(wǎng)絡(luò)程序317
10.2.1 開發(fā)Windows的TCP4服務(wù)端程序318
10.2.2 開發(fā)UEFI的TCP4客戶端程序323
10.3 使用StdLib的Socket接口開發(fā)網(wǎng)絡(luò)程序334
10.3.1 使用Socket編寫UEFI TCP4客戶端程序334
10.3.2 開發(fā)Windows的TCP6服務(wù)端程序337
10.3.3 使用Socket編寫UEFI TCP6客戶端程序340
10.4 本章小結(jié)342

●第11章 龍芯平臺上開發(fā)UEFI程序343
11.1 龍芯平臺概述343
11.1.1 龍芯產(chǎn)品介紹344
11.1.2 3A4000的CPU架構(gòu)簡介346
11.2 龍芯匯編語言348
11.2.1 安裝Linux Lab349
11.2.2 龍芯匯編語言實驗351
11.3 龍芯平臺UEFI開發(fā)環(huán)境354
11.3.1 搭建龍芯平臺UEFI開發(fā)環(huán)境355
11.3.2 編譯示例工程356
11.4 本章小結(jié)357

●第12章 飛騰平臺上開發(fā)UEFI程序358
12.1 飛騰平臺概述359
12.1.1 飛騰產(chǎn)品介紹359
12.1.2 FT-2000/4的CPU架構(gòu)簡介361
12.2 搭建飛騰平臺UEFI開發(fā)環(huán)境363
12.2.1 準備EDK2環(huán)境364
12.2.2 使用Linux系統(tǒng)與gcc-arm365
12.2.3 使用Linux系統(tǒng)與Linaro UEFI工具367
12.3 飛騰平臺的UEFI程序測試368
12.3.1 Windows系統(tǒng)下的UEFI測試環(huán)境369
12.3.2 Linux系統(tǒng)下的UEFI測試環(huán)境372
12.3.3 測試示例工程372
12.4 本章小結(jié)374
附錄 UEFI Shell內(nèi)置命令375

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號