《UEFI编程实践》源代码

《UEFI编程实践》源代码

  • 大小:10.3 MB
  • 类型:UEFI
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:罗冰
  • 更新:2021-12-04 07:38:23
vip 立即下载( 10.3 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 訾天佑 投稿)

给大家整理一篇UEFI类书籍配套资源,介绍了关于UEFI、编程实践、源代码、UEFI方面的内容,本书是由机械工业出版社出版,已被325人关注,由厉成业测试纠错,目前本书在UEFI类综合评分为:9.7分。

UEFI资源推荐

资源介绍

本书偏重于实战,面向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

以上就是本次关于配套资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

UEFI相关资源

  • 操作系统实践:基于Linux的应用与内核编程

    操作系统实践:基于Linux的应用与内核编程

    《操作系统实践应用场景Linux的应用与内核编程》融合很多年操作系统课程内容理论研究课堂教学工作经验,应用场景当今时兴的开源系统操作系统Ubuntul4.04LTS(Linux内核3.13.0)设计方案了1组操

    大小:55.1 MB操作系统电子书

  • Python渗透测试编程技术:方法与实践

    Python渗透测试编程技术:方法与实践

    《Python渗透测试编程技术:方法与实践》由资深的网络安全教师撰写,内容围绕如何使用目前备受瞩目的Python语言进行网络安全编程展开。《Python渗透测试编程技术:方法与实践》从Python的基础讲起,系统讲述了网络安全的作用、方法论,Python在网络安全管理上的应用,以及Python在实现这些应用时相关的网络原理和技术。

    大小:167.2 MBPython编程电子书

  • Windows内核安全编程从入门到实践

    Windows内核安全编程从入门到实践

    Windows内核安全编程从入门到实践 作者:《黑客防线》编辑部 组编 出版时间:2012 本书详细介绍了Windows平台下的内核安全编程知识。首先简单介绍了驱动编程的基本方法;然后详细介绍了Windows各个系统组件的工作原理,如文件系统、网络系统自上而下的执行流程。同时还介绍了各个组件涉及的安全问题,如文件隐藏、键盘记录等,并通过工程项目让读者从代码层级了解这些信息安全问题及解决方法;最后介绍了驱动编程本身的安全问题,如安全编码的注

    大小:79.01MBWindows编程电子书

  • 并行编程方法与优化实践

    并行编程方法与优化实践

    这本书主要结合X86SSE与AVX、ARMNeon、OpenMP、CUDA和OpenCL等讲解了并行编程的技术、方法和实践,并给出大量示例

    大小:100.6 MB编程设计电子书

  • 高效前端:Web高效编程与优化实践

    高效前端:Web高效编程与优化实践

    本书精选了前端开发中的34个疑难问题,从分析问题入手,逐步给出解决方案,并分析各种方案的优劣,并总结出高效编程的最佳实践和各种性能优化的方法

    大小:199.1 MB前端设计电子书

  • Visual C++/Turbo C串口通信编程实践

    Visual C++/Turbo C串口通信编程实践

    VisualC++/TurboC串口通信编程实践 作者:龚建伟熊光明 出版时间:2004/10/1 本书从编程实践的角度详细介绍了Windows环境下和DOS环境下的串口通 信的基本方法,并根据当前串口与网络结合发展的趋势,介绍了串口与网络 TCP/IP、远程控制与监测相结合的一些解决方案和编程要点。由于编程步骤 详尽,初学VisualC++/C(甚至是以前完全没有接触过VisualC++)的读者也 能很快编写出VisualC++的串口通信程序。本书配光盘,书中实例源程序和 相关资料可在对应章节的文件夹中

    大小:16.27 MBC++

  • Visual C++实践与提高:图形图像编程篇

    Visual C++实践与提高:图形图像编程篇

    VisualC++实践与提高—图形图像编程篇 作者:李于剑 丛书名:计算机编程实践与提高系列 中国铁道 出版日期:2001年7月 本书将向读者讲述如何用VisualC++进行图形图像编程。本书共分为图形篇、图像篇、综合提高篇。图形篇以计算机绘图的基础知识为铺垫,介绍了各种图形元素的绘制方法,并结合实际代码实现了一个小型的绘图系统;图像篇通过实例向读者介绍了不同格式图像的处理方法,并给出了一些特效处理的技巧;综合提高篇综合应用了图形图像

    大小:16.32 MBC++

下载地址

学习笔记

23小时45分钟前回答

《Python编程:从入门到实践》第五章:if语句

5-1 条件测试 编写一系列条件测试;将每个测试以及你对其结果的预测和实际结果都打印出来。你编写的代码应类似于下面这样: car = subaruprint(Is car == subaru? I predict True.)print(car == subaru) print(\nIs car == audi? I predict False.)print(car == audi) 详细研究实际结果,直到你明白了它为何为True 或False 。 创建至少10个测试,且其中结果分别为True 和False 的测试都至少有5个。 car =subaruprint(Is car == s……

17小时3分钟前回答

《Python编程:从入门到实践》第四章:操作列表

4-1 比萨 想出至少是三种你喜欢的比萨,将其名称存储在一个列表中,再使用for循环将每种比萨的名称都打印出来。 修改这个for循环,使其打印包含比萨名称的矩阵,而不仅仅是比萨的名称。对于每种比萨,都显示一行输出,如I like pepperoni pizza。 在程序末尾添加一行代码,它不在for循环中,指出你有多喜欢比萨。输出应包含针对每种比萨的消息,还有一个总结性矩阵,如I real……

12小时27分钟前回答

《Python编程:从入门到实践》第八章:函数

8-1 消息 编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。 # -*- coding : utf-8 -*-def display_messages(): print(本章学习的是函数)if __name__ == __main__: display_messages() 结果: 8-2 喜欢的图书 编写一个名为favorite_book() 的函数,其中包含一个名为title 的形参。这个函数打印一条消息,如One of my favorite books is Alice in Wonderlan……