当前位置:主页 > 书籍配套资源 > UEFI配套资源
《UEFI编程实践》源代码

《UEFI编程实践》源代码

  • 更新:2021-12-04
  • 大小:10.3 MB
  • 类别:UEFI
  • 作者:罗冰
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书偏重于实战,面向UEFI的爱好者和使用者。全书共12章,大致可以分为三部分。

1. 第1部分为介绍UEFI的基础框架,搭建开发和调试环境,并熟悉代码框架的搭建和编译方法。让读者能把握整体框架,并能为后续的实践做好准备;

2. 第2部分详细讲解UEFI如何访问外设、构建GUI、编写Option ROM等,并辅以实际的项目实例,加深对UEFI编程的理解。所提供的项目极具实践价值,基本上可以直接用在实际项目中;

3. 第3部分介绍目前国产计算机上UEFI的发展情况,详细讲解如何在国产计算机上进行UEFI项目的开发,包括搭建开发环境、测试方法等。

通过阅读本书,读者可以清晰地了解UEFI的编程方法,学习到如何以UEFI的方式去思考计算机的底层架构。书中提供了大量的实例训练,大部分来自作者曾经实战过的商业项目,极具参考价值,能有效帮助读者快速构建自己的UEFI相关产品。

目录

  • 序一
  • 序二
  • 前言
  • 第1章UEFI的世界1
  • 1.1Legacy BIOS1
  • 1.1.1Legacy BIOS的启动过程2
  • 1.1.2Legacy BIOS的不足之处4
  • 1.2UEFI BIOS6
  • 1.2.1UEFI标准概述6
  • 1.2.2UEFI BIOS的优点8
  • 1.2.3UEFI BIOS的启动过程9
  • 1.2.4国产计算机与UEFI13
  • 1.3本章小结15
  • 第2章UEFI开发和调试环境搭建16
  • 2.1搭建Windows下的UEFI开发环境17
  • 2.1.1安装开发工具17
  • 2.1.2配置开发环境18
  • 2.1.3编译UEFI模拟器和UEFI程序20
  • 2.1.4使用模拟器运行UEFI程序22
  • 2.2Windows下调试UEFI程序24
  • 2.2.1使用Visual Studio调试UEFI程序24
  • 2.2.2使用WINDBG调试UEFI程序27
  • 2.3搭建Linux下的UEFI开发环境30
  • 2.3.1安装开发工具31
  • 2.3.2配置开发环境32
  • 2.3.3编译UEFI模拟器和UEFI程序32
  • 2.3.4使用模拟器运行UEFI程序33
  • 2.4Linux下调试UEFI程序34
  • 2.4.1使用GDB调试UEFI程序34
  • 2.4.2使用Intel UDK Debugger Tool和GDB调试UEFI程序37
  • 2.5制作UEFI启动盘40
  • 2.6本章小结41
  • 第3章构建UEFI应用42
  • 3.1模块和包概述42
  • 3.2搭建UEFI工程模块44
  • 3.2.1DSC文件44
  • 3.2.2INF文件50
  • 3.2.33种入口函数的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支持基础功能75
  • 3.4.2支持全局类77
  • 3.5使用UEFI Protocol81
  • 3.5.1Protocol概述81
  • 3.5.2支持使用Protocol的函数 83
  • 3.5.3使用Protocol示例91
  • 3.6本章小结93
  • 第4章图形与汉字显示94
  • 4.1UEFI图形显示95
  • 4.1.1图形显示的Protocol 95
  • 4.1.2图形显示基本函数的实现101
  • 4.2UEFI汉字显示—写像素点的方式107
  • 4.2.1点阵字的显示与字库提取108
  • 4.2.2写像素点的汉字显示110
  • 4.3UEFI汉字显示—HII方式115
  • 4.3.1HII字体与字库提取116
  • 4.3.2HII汉字显示119
  • 4.3.3HII字符串127
  • 4.4本章小结132
  • 第5章图像显示及特效133
  • 5.1UEFI图像显示—写屏方式134
  • 5.1.1BMP图像显示 134
  • 5.1.2PCX图像显示140
  • 5.1.3JPEG图像显示145
  • 5.2UEFI图像显示—HII方式150
  • 5.2.1图像处理Protocol150
  • 5.2.2HII图像显示153
  • 5.3图像显示的特效 157
  • 5.3.1图像块处理基本函数的实现157
  • 5.3.2颜色变换特效161
  • 5.3.3镜像显示165
  • 5.3.4图像块显示与清屏166
  • 5.4本章小结170
  • 第6章GUI开发与移植172
  • 6.1支持GUI的基础服务 172
  • 6.1.1UEFI事件处理 173
  • 6.1.2UEFI键盘处理179
  • 6.1.3UEFI鼠标处理 185
  • 6.1.4构建GUI框架186
  • 6.2开源GUI框架191
  • 6.2.1GuiLite介绍191
  • 6.2.2使用GuiLite编程 195
  • 6.3GUI框架的移植200
  • 6.4本章小结203
  • 第7章UEFI环境下访问外设205
  • 7.1访问PCI/PCIE设备205
  • 7.1.1与PCI/PCIE设备通信的机制206
  • 7.1.2支持访问PCI/PCIE设备的Protocol209
  • 7.1.3访问PCI/PCIE设备示例213
  • 7.2访问SMBus设备216
  • 7.2.1SMBus协议简介216
  • 7.2.2支持访问SMBus设备的Protocol218
  • 7.2.3访问SMBus设备示例220
  • 7.3访问串口设备223
  • 7.3.1串口协议简介223
  • 7.3.2支持访问串口设备的Protocol225
  • 7.3.3访问串口设备示例228
  • 7.4本章小结230
  • 第8章UEFI驱动与Option ROM232
  • 8.1服务型驱动233
  • 8.1.1安装与卸载Protocol233
  • 8.1.2构建服务型驱动236
  • 8.1.3访问示例Protocol242
  • 8.2UEFI驱动模型243
  • 8.2.1EFI Driver Binding Protocol 243
  • 8.2.2EFI Component Name Protocol247
  • 8.2.3完成驱动框架及其测试248
  • 8.2.4构建UEFI驱动及其测试程序251
  • 8.2.5测试UEFI驱动256
  • 8.3编写Option ROM258
  • 8.3.1PCI Option ROM简介258
  • 8.3.2编写UEFI Option ROM264
  • 8.3.3编译及测试Option ROM268
  • 8.4本章小结272
  • 第9章UEFI与USB273
  • 9.1USB规范简介274
  • 9.1.1USB通信原理276
  • 9.1.2USB描述符280
  • 9.1.3USB标准命令285
  • 9.1.4USB HID设备287
  • 9.2支持USB访问的Protocol292
  • 9.2.1EFI_USB2_HC_PROTOCOL292
  • 9.2.2EFI_USB_IO_PROTOCOL294
  • 9.2.3列举USB控制器和设备297
  • 9.3访问USB HID设备299
  • 9.3.1制作USB HID设备299
  • 9.3.2在UEFI下访问USB HID设备305
  • 9.4本章小结307
  • 第10章UEFI与网络309
  • 10.1准备UEFI网络测试环境311
  • 10.1.1搭建Nt32模拟器的网络环境311
  • 10.1.2在真实UEFI环境下使用网络313
  • 10.1.3在虚拟机UEFI环境下使用网络:VirtualBox314
  • 10.1.4在虚拟机UEFI环境下使用网络:QEMU314
  • 10.1.5IPv6网络测试环境搭建316
  • 10.2使用UEFI Protocol开发网络程序317
  • 10.2.1开发Windows的TCP4服务端程序318
  • 10.2.2开发UEFI的TCP4客户端程序323
  • 10.3使用StdLib的Socket接口开发网络程序334
  • 10.3.1使用Socket编写UEFI TCP4客户端程序334
  • 10.3.2开发Windows的TCP6服务端程序337
  • 10.3.3使用Socket编写UEFI TCP6客户端程序340
  • 10.4本章小结342
  • 第11章龙芯平台上开发UEFI程序343
  • 11.1龙芯平台概述343
  • 11.1.1龙芯产品介绍344
  • 11.1.23A4000的CPU架构简介346
  • 11.2龙芯汇编语言348
  • 11.2.1安装Linux Lab349
  • 11.2.2龙芯汇编语言实验351
  • 11.3龙芯平台UEFI开发环境354
  • 11.3.1搭建龙芯平台UEFI开发环境355
  • 11.3.2编译示例工程356
  • 11.4本章小结357
  • 第12章飞腾平台上开发UEFI程序358
  • 12.1飞腾平台概述359
  • 12.1.1飞腾产品介绍359
  • 12.1.2FT-2000/4的CPU架构简介361
  • 12.2搭建飞腾平台UEFI开发环境363
  • 12.2.1准备EDK2环境364
  • 12.2.2使用Linux系统与gcc-arm365
  • 12.2.3使用Linux系统与Linaro UEFI工具367
  • 12.3飞腾平台的UEFI程序测试368
  • 12.3.1Windows系统下的UEFI测试环境369
  • 12.3.2Linux系统下的UEFI测试环境372
  • 12.3.3测试示例工程372
  • 12.4本章小结374
  • 附录UEFI Shell内置命令375

资源下载

资源下载地址1:https://pan.baidu.com/s/1JDPDtU4s2yB1WkxkPSA7HA

相关资源

网友留言