-
内容大纲
本书系统地介绍了X86、龙芯、飞腾架构下的UEFl应用和驱动开发,系统调试专家、《软件调试》作者张银奎,以及UEFI专家、《UEFI原理与编程》作者戴正华联袂推荐。
本书以项目开发为导向,采取“近实战,多实例”的方式,细致深入地介绍了UEFl应用和驱动开发相关的知识。
第1~3章,介绍了UEFI系统的组成、启动过程,在各种操作系统中搭建和调试开发环境的方法,以及UEFI应用和驱动开发的基本方法。
第4~10章以实际的开发实践为索引,介绍了图形图像开发、汉字显示、GUI构建、访问PCI/PCIE设备、访问SMBus设备、访问串口设备、实现USB通信和网络通信等内容。这部分以贴近实际开发的方式来构建实例,并深入剖析相关硬件协议及其在UEFI上的实现。
第11章和第12章,讲解了龙芯和飞腾架构,以及如何在这两类国产处理器上进行UEFI软件开发。 -
作者介绍
罗冰 物理隔离安全领域专家,主导开发过网络隔离卡、双网隔离机、国产隔离系统、单向光传输系统等各类安全产品,拥有十几项发明和实用新型专利。 致力于UEFI技术的研究、实践,以及相关产品的开发,在CSDN和知乎上设有“UEFI开发探索”专栏。译著有《现代X86汇编语言程序设计》《21世纪机器人》,目前就职于国内某网络安全公司,担任总工程师。 -
目录
序一
序二
前言
第1章 UEFI的世界
1.1 Legacy BIOS
1.1.1 Legacy BIOS的启动过程
1.1.2 Legacy BIOS的不足之处
1.2 UEFI BIOS
1.2.1 UEFI标准概述
1.2.2 UEFI BIOS的优点
1.2.3 UEFI BIOS的启动过程
1.2.4 国产计算机与UEFI
1.3 本章小结
第2章 UEFI开发和调试环境搭建
2.1 搭建Windows下的UEFI开发环境
2.1.1 安装开发工具
2.1.2 配置开发环境
2.1.3 编译UEFI模拟器和UEFI程序
2.1.4 使用模拟器运行UEFI程序
2.2 Windows下调试UEFI程序
2.2.1 使用Visual Studio调试UEFI程序
2.2.2 使用WINDBG调试UEFI程序
2.3 搭建Linux下的UEFI开发环境
2.3.1 安装开发工具
2.3.2 配置开发环境
2.3.3 编译UEFI模拟器和UEFI程序
2.3.4 使用模拟器运行UEFI程序
2.4 Linux下调试UEFI程序
2.4.1 使用GDB调试UEFI程序
2.4.2 使用Intel UDK Debugger Tool和GDB调试UEFI程序
2.5 制作UEFI启动盘
2.6 本章小结
第3章 构建UEFI应用
3.1 模块和包概述
3.2 搭建UEFI工程模块
3.2.1 DSC文件
3.2.2 INF文件
3.2.3 3种入口函数的UEFI应用
3.2.4 库模块的编写
3.2.5 其他工程文件
3.3 搭建UEFI包
3.3.1 包的DSC和DEC文件
3.3.2 添加并编译模块
3.4 用C++编写UEFI应用
3.4.1 支持基础功能
3.4.2 支持全局类
3.5 使用UEFI Protocol
3.5.1 Protocol概述
3.5.2 支持使用Protocol的函数
3.5.3 使用Protocol示例
3.6 本章小结
第4章 图形与汉字显示
4.1 UEFI图形显示
4.1.1 图形显示的Protocol
4.1.2 图形显示基本函数的实现
4.2 UEFI汉字显示—写像素点的方式
4.2.1 点阵字的显示与字库提取
4.2.2 写像素点的汉字显示
4.3 UEFI汉字显示—HII方式
4.3.1 HII字体与字库提取
4.3.2 HII汉字显示
4.3.3 HII字符串
4.4 本章小结
第5章 图像显示及特效
5.1 UEFI图像显示—写屏方式
5.1.1 BMP图像显示
5.1.2 PCX图像显示
5.1.3 JPEG图像显示
5.2 UEFI图像显示—HII方式
5.2.1 图像处理Protocol
5.2.2 HII图像显示
5.3 图像显示的特效
5.3.1 图像块处理基本函数的实现
5.3.2 颜色变换特效
5.3.3 镜像显示
5.3.4 图像块显示与清屏
5.4 本章小结
第6章 GUI开发与移植
6.1 支持GUI的基础服务
6.1.1 UEFI事件处理
6.1.2 UEFI键盘处理
6.1.3 UEFI鼠标处理
6.1.4 构建GUI框架
6.2 开源GUI框架
6.2.1 GuiLite介绍
6.2.2 使用GuiLite编程
6.3 GUI框架的移植
6.4 本章小结
第7章 UEFI环境下访问外设
7.1 访问PCI/PCIE设备
7.1.1 与PCI/PCIE设备通信的机制
7.1.2 支持访问PCI/PCIE设备的Protocol
7.1.3 访问PCI/PCIE设备示例
7.2 访问SMBus设备
7.2.1 SMBus协议简介
7.2.2 支持访问SMBus设备的Protocol
7.2.3 访问SMBus设备示例
7.3 访问串口设备
7.3.1 串口协议简介
7.3.2 支持访问串口设备的Protocol
7.3.3 访问串口设备示例
7.4 本章小结
第8章 UEFI驱动与Option ROM
8.1 服务型驱动
8.1.1 安装与卸载Protocol
8.1.2 构建服务型驱动
8.1.3 访问示例Protocol
8.2 UEFI驱动模型
8.2.1 EFI Driver Binding Protocol
8.2.2 EFI Component Name Protocol
8.2.3 完成驱动框架及其测试
8.2.4 构建UEFI驱动及其测试程序
8.2.5 测试UEFI驱动
8.3 编写Option ROM
8.3.1 PCI Option ROM简介
8.3.2 编写UEFI Option ROM
8.3.3 编译及测试Option ROM
8.4 本章小结
第9章 UEFI与USB
9.1 USB规范简介
9.1.1 USB通信原理
9.1.2 USB描述符
9.1.3 USB标准命令
9.1.4 USB HID设备
9.2 支持USB访问的Protocol
9.2.1 EFI_USB2_HC_PROTOCOL
9.2.2 EFI_USB_IO_PROTOCOL
9.2.3 列举USB控制器和设备
9.3 访问USB HID设备
9.3.1 制作USB HID设备
9.3.2 在UEFI下访问USB HID设备
9.4 本章小结
第10章 UEFI与网络
10.1 准备UEFI网络测试环境
10.1.1 搭建Nt32模拟器的网络环境
10.1.2 在真实UEFI环境下使用网络
10.1.3 在虚拟机UEFI环境下使用网络:VirtualBox
10.1.4 在虚拟机UEFI环境下使用网络:QEMU
10.1.5 IPv6网络测试环境搭建
10.2 使用UEFI Protocol开发网络程序
10.2.1 开发Windows的TCP4服务端程序
10.2.2 开发UEFI的TCP4客户端程序
10.3 使用StdLib的Socket接口开发网络程序
10.3.1 使用Socket编写UEFI TCP4客户端程序
10.3.2 开发Windows的TCP6服务端程序
10.3.3 使用Socket编写UEFI TCP6客户端程序
10.4 本章小结
第11章 龙芯平台上开发UEFI程序
11.1 龙芯平台概述
11.1.1 龙芯产品介绍
11.1.2 3A4000的CPU架构简介
11.2 龙芯汇编语言
11.2.1 安装Linux Lab
11.2.2 龙芯汇编语言实验
11.3 龙芯平台UEFI开发环境
11.3.1 搭建龙芯平台UEFI开发环境
11.3.2 编译示例工程
11.4 本章小结
第12章 飞腾平台上开发UEFI程序
12.1 飞腾平台概述
12.1.1 飞腾产品介绍
12.1.2 FT-2000/4的CPU架构简介
12.2 搭建飞腾平台UEFI开发环境
12.2.1 准备EDK2环境
12.2.2 使用Linux系统与gcc-arm
12.2.3 使用Linux系统与Linaro UEFI工具
12.3 飞腾平台的UEFI程序测试
12.3.1 Windows系统下的UEFI测试环境
12.3.2 Linux系统下的UEFI测试环境
12.3.3 测试示例工程
12.4 本章小结
附录 UEFI Shell内置命令
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...