25回答

0收藏

UEFI原理与编程 PDF 电子书

电子书 电子书 1536 人阅读 | 25 人回复 | 2023-09-20

Java电子书:UEFI原理与编程   PDF 电子书 Java吧 java8.com
# i" |+ U& r! a. o; Z$ R
5 Y! E0 B! q& T& J( y* T* r% A作者:戴正华出版社:机械工业出版社出版时间:2015年01月
! j9 @0 M3 b% N% L4 O; _/ g+ k& C! \; V/ X" B; K9 z% H; W
编号:166-Java吧资源免费-X0001【Java吧 java8.com】
# G; p% E5 Z' @) }% ^' z: b1 o
' s, d9 k  a* n7 x

, _8 c! M0 O3 A) m2 Q% Q
, r; w3 ?0 W- c- }: M( T  y9 j% n9 J
目录:, H% O  ^& i' Z( \+ i% \

    2 \4 h  ~8 z1 E  g
      N; G* G, l3 e5 N) ^0 z
    8 x0 t& ^5 Z5 d4 o前 言
    ) F- O2 a1 W& Q& e第1章 UEFI概述 1! _- k2 J$ Q! K/ u3 Q" z6 R
    1.1 BIOS的前世今生 1
    8 @/ ?. K( y6 }: A, u& g1.1.1 BIOS在计算机系统中的作用 1& m$ p8 T, K( a* F- h6 C! d
    1.1.2 BIOS缺点 2* v" ]: A# a* i% J/ r
    1.2 初识UEFI 2  X/ L  ?: |  r( I; Y. Z" E
    1.2.1 UEFI系统组成 3
    0 z+ E. F9 O5 y- d& n) u2 s1.2.2 UEFI的优点 4
    ( g  c8 I5 \7 S% e1.2.3 UEFI系统的启动过程 5
    ) T4 F- b2 h. y! n, N8 U1.3 本章小结 12
    $ j' J% H& a  P" N第2章 UEFI 开发环境搭建 14$ a# t3 _( }- t- }
    2.1 配置Windows开发环境 14
    8 j" r: X) s! M" u( l: _2.1.1 安装所需开发工具 15
    % H% W  w* N# m' y! U7 L2.1.2 配置EDK2开发环境 15  E! g0 F( v% A& Z( W5 n
    2.1.3 编译UEFI模拟器和UEFI工程 174 ~- a3 s% F, g7 u" `" j- q, s0 U
    2.1.4 运行模拟器 194 O. N: d4 T' k/ S; b( M0 l2 q  R
    2.2 配置Linux 开发环境 21
    ! V7 v& R! r/ O0 k8 y2.2.1 安装所需开发工具 22
    . j) b; Z+ g$ {2.2.2 配置EDK2开发环境 22" b3 n7 E# V6 g; t5 j
    2.2.3 编译UEFI模拟器和UEFI工程 23
    2 ?2 C- V! S% s& p  b+ b' `2.2.4 运行模拟器 24
    $ Z, t; E$ d  C) y# U$ [7 P/ Z2.3 OVMF的制作和使用 25: Z; }0 |+ F9 v( w
    2.4 UEFI的启动 277 @7 ~6 G! @, `/ t( S
    2.5 本章小结 289 ~. L, J. W6 R$ ^
    第3章 UEFI工程模块文件 29
    . J3 @% T7 O% K% R9 U8 u3.1 标准应用程序工程模块 30
    / A# Z; C2 A6 G5 v& }# p8 p3.1.1 入口函数 30& O4 R, t: d* T8 d
    3.1.2 工程文件 313 a2 P* Y# _8 _& n$ c& I
    3.1.3 编译和运行 37
    ' e$ V  g6 a/ I3 S- ^* x3.1.4 标准应用程序的加载过程 375 r& h5 l# Q/ ^! h
    3.2 其他类型工程模块 43
    ' F' U$ r; h/ v1 {( A! N3.2.1 Shell应用程序工程模块 43
    6 D' d8 u# Y9 n" t( J3.2.2 使用main函数的应用程序工程模块 46
    , @' Y0 Z' c8 O+ U8 ^% |: I3.2.3 库模块 47  z( D+ {1 {) P. ]
    3.2.4 UEFI驱动模块 49
    ; B' X# }% ?2 K+ V4 I5 I5 C3.2.5 模块工程文件小结 506 ]& B+ N' O2 e3 Q1 j
    3.3 包及.dsc、.dec、.fdf文件 515 B6 ~/ v: X) {3 Z
    3.3.1 .dsc文件 51
    ' r0 L. f7 H% J7 g3.3.2 .dec文件 560 x, F2 S6 ^6 X" N* c7 b! H
    3.4 调试UEFI 59
    4 P0 o" e: I' y3.5 本章小结 61
    & ]: t8 a* S9 t3 v1 K第4章 UEFI中的Protocol 62, c7 e8 }8 c1 s) H) E
    4.1 Protocol 在UEFI内核中的表示 64
    $ f0 ?9 V# @1 g1 V/ \4.2 如何使用Protocol服务 65
    8 {! \* u6 J, S- e& C: f) _4.2.1 OpenProtocol服务 66% q: }. D9 W& ^& Q  [- ~7 z
    4.2.2 HandleProtocol服务 67
    ) f/ G( o9 C9 `9 ?2 b/ @/ R4.2.3 LocateProtocol服务 69+ f, x+ d% P$ S) ?3 h( x* Q
    4.2.4 LocateHandleBuffer服务 69
    6 e7 Z$ n6 L. H. }8 }! q4.2.5 其他一些使用Protocol的服务 719 r% p& Q) r1 t7 A$ u4 Y% ^
    4.2.6 CloseProtocol服务 726 c8 H, }% C6 z. }1 x) a3 W$ t- |
    4.3 Protocol服务示例 73
    . c9 y8 J- u) q+ U- [+ W4.4 本章小结 75) Y- s0 Q% o/ m
    第5章 UEFI的基础服务 767 n: Q6 F$ p. Z1 p/ P# G
    5.1 系统表 76( e4 r7 o9 \0 x6 Y* `0 W
    5.1.1 系统表的构成 77
    ; K  x# L7 Z5 t2 M" d5.1.2 使用系统表 79
    & q4 [: [& {3 e4 T, w, S* X- T5.2 启动服务 82
      ^2 q; s6 O, H9 N5.2.1 启动服务的构成 823 a. x7 ?) z" N( C! l/ R
    5.2.2 启动服务的生存期 913 o! o) U$ P( t
    5.3 运行时服务 93
    ( x* I# O+ J) t  N5.4 本章小结 102
    8 W$ j# l- e( X; E( H第6章 事件 1034 a& C( T+ X9 ^9 k
    6.1 事件函数 104
    ' Z$ u% Z6 G) g7 `, X6.1.1 等待事件的服务WaitForEvent 105
    ) a; P; s$ a0 b+ e+ f9 H. {4 O( F6.1.2 生成事件的服务CreateEvent 106
    7 @) h8 u. {1 H% p7 C, S% N6 h6.1.3 CreateEventEx服务 110
    6 [- h2 T! w+ F! c, H6.1.4 事件相关的其他函数 112
    3 w$ o9 u; V3 k6.2 定时器事件 113
    ) m, m- W4 W" O7 ^6.3 任务优先级 114" C  \3 ]/ [) ]9 y
    6.3.1 提升和恢复任务优先级 115: F% B9 W1 s! _+ ^) T% b+ l' N; y5 i( n
    6.3.2 UEFI中的时钟中断 116
    9 C; U6 J* W$ W- x% \! u6.3.3 UEFI事件Notif?ication函数的派发 126. @, n" E" O  p8 z  \
    6.4 鼠标和键盘事件示例 127
    $ s8 g7 @8 m; h% x( N6.5 本章小结 1280 z/ M' W, |; n1 m% A0 j* ?
    第7章 硬盘和文件系统 129
    : I5 n( |4 ^6 y& I" L9 L9 }/ H; U& b7.1 GPT硬盘 129) c+ C; F" r6 v  N9 h0 m6 H
    7.1.1 基于MBR分区的传统硬盘 129' o& E; {8 Q( J$ m8 Z: K1 ~
    7.1.2 GPT硬盘详解 130$ E1 O" t6 E* q! @
    7.2 设备路径 134& |$ k0 N, {7 P6 `/ A; s, r) ]
    7.3 硬盘相关的Protocol 139/ |, {1 s/ F- H
    7.3.1 BlockIo解析 140. j+ z  M9 w( E: }  n1 }
    7.3.2 BlockIo2解析 142
    * R& P0 _$ W. e7.3.3 DiskIo解析 146
    4 s9 E" z" X- ]7.3.4 DiskIo2解析 147
    3 z- a* u) P/ c. S, ^* g/ L7.3.5 PassThrough解析 150+ F; v! t( w& X+ _4 ]
    7.4 文件系统 1521 w. l/ e! ?: q
    7.5 文件操作 153
    & q, H9 m% G' \& f7.5.1 打开文件 154
    ; Y9 V: M5 G2 t& e& t7.5.2 读文件 156& C/ k8 B( j/ F" |% r* d
    7.5.3 写文件 159) I0 Z. P% h; t. y9 }% y
    7.5.4 关闭文件(句柄) 160
      W5 P* K: o' [0 W' p& ?* c) R2 O7.5.5 其他文件操作 160: w! X  u% r/ k; A' d% j0 _
    7.5.6 异步文件操作 162
    2 a2 |  r" t! H/ d: Z7.5.7 EFI_SHELL_PROTOCOL中的文件操作 166/ m5 ^2 o3 q0 _9 F3 s1 A; ]
    7.6 本章小结 1705 Q. [, d5 P/ E" n& C* A
    第8章 开发UEFI服务 171% I6 p' |9 s# Q' W# R( b
    8.1 Protocol服务接口设计 172
    . @$ S) C  L, O' i2 d8.2 Protocol服务的实现 174
    . i. Z8 M* _9 x' L5 V( I8.3 服务型驱动的框架 178. t5 ]7 h& L; C8 Y: b2 ]5 q
    8.4 ffmpeg的移植与编译 179
    ; E6 a  @% ]* K" h+ ?# p8.4.1 libavcodec的建立和移植 1814 ~9 |' p  l; i$ M6 j$ \  X
    8.4.2 其他库的建立与移植 182
    * {9 d/ |. R5 E2 D6 ^8 j! d8.4.3 在驱动型服务中使用StdLib 186; X5 {" q% b! n2 x
    8.5 使用Protocol服务 188
    ( d# a! c& b# p( b4 X4 C1 R8.6 本章小结 1908 R7 U5 W% D8 f$ b7 w
    第9章 开发UEFI驱动 191
      ~8 ]1 W( O' s! [" A- _9.1 UEFI驱动模型 192/ H3 q3 J* Q! ?+ @! _# r- D
    9.1.1 EFI Driver Binding Protocol的构成 192
    , A" E% ?  {& l# N# J+ ~9.1.2 EFI Component Name Protocol的作用和构成 196
    6 r$ s& M$ _/ L7 M5 U4 A% `9.2 编写设备驱动的步骤 197) J$ ~/ l1 e# N( D: ]
    9.3 PCI设备驱动基础 1995 ]& I" U  e9 }6 p' X
    9.4 AC97控制器芯片的控制接口 202
    ' Y6 ^6 x) z! X# ?- d$ F2 T9.5 AC97驱动 206, }& p  ^$ t! C8 Q+ }1 a! N
    9.5.1 AC97驱动的驱动服务EFI_AUDIO_PROTOCOL 206
    9 S* d6 |, d* M+ e9.5.2 AC97驱动的框架部分 213/ |8 |2 E7 C5 c$ e
    9.5.3 AC97驱动实验 220
    8 D$ v8 p: {5 G1 C9.6 本章小结 221( o& X# ?: m, Y, Q' t/ f7 M* q
    第10章 用C++开发UEFI应用 2224 n% r* u  L' U) b2 M; j7 H
    10.1 从编译器角度看C与C++的差异 222  N7 @4 _9 M, v' [) {
    10.2 在EDK2中支持C++ 224: z* O+ P+ F0 m; g  \5 R
    10.2.1 使EDK2支持C++基本特性 2240 f7 a5 i& n' O2 C" f2 R
    10.2.2 在Windows系统下的程序启动过程 2264 c/ r' [+ [. {* y7 b0 k/ K3 e
    10.2.3 在Windows系统下支持全局构造和析构 2295 g" \# Z9 f' f9 g9 Z
    10.2.4 在Linux系统下的程序启动过程 231* P+ r3 v1 }" }* C* o; c
    10.2.5 在Linux系统下支持全局构造和析构 240  Q# S/ o+ }$ A" i
    10.2.6 支持new和delete 242! R) X1 d! ^. j1 [5 `
    10.2.7 支持STL 243% C* N5 W3 N- Z' N; ^/ ^
    10.3 GcppPkg概览 2434 o5 ]0 T9 U% b) V! j
    10.4 测试GcppPkg 246: v: z/ C2 M  r" K; F9 X
    10.5 本章小结 248
    " |# a) q$ b( i% l( v. e第11章 GUI基础 249
    7 s1 T7 o8 c' @- ]2 E7 G2 t11.1 字符串 249
    , R6 O0 w  p7 `. s, F4 Z11.1.1 字符串函数 249* q. F' V/ Y, a+ i3 |8 X
    11.1.2 字符串资源 251
    / W+ s. }" u1 `  w" |11.1.3 管理字符串资源 255, X% U- ]/ E! L3 e; F/ O. q
    11.2 管理语言 260
    & I8 N  G# o$ N. I6 u& b11.3 包列表 262
    4 g. N; w- k0 {, J3 |5 m, M11.4 图形界面显示 263& c0 N2 ?' r$ M1 _  ^: B7 K
    11.4.1 显示模式 2647 i+ q" q7 i8 Z8 u3 x8 N
    11.4.2 Block Transfer(Blt)传输图像 267) w( t' {8 v  d- x
    11.4.3 在图形界面下显示字符串 269
    0 A; `- D1 D* Q11.5 用SimpleFont显示中文 2723 c$ U4 L) g( w( c
    11.5.1  SimpleFont 格式 273
    ( M; a) O! @# t5 ]+ q) i. c11.5.2 如何生成字体文件 275' M2 d4 R. P7 J/ B
    11.5.3 如何注册字体文件 276
    * Y8 F9 ^0 O; l" c11.6 开发SimpleFont字库程序 277
    0 T; q& ?3 A, m# \' r1 n0 K11.7 字体Font 278. w2 X$ w* Z. Z# k1 @
    11.7.1 Font的格式 279+ Z+ d% X1 l; O, K5 s% V! Y
    11.7.2 字体包的格式 279- Z' z' G7 }3 f1 K4 c
    11.7.3 为什么Font性能高于SimpleFont 281
    5 y- @- P* C2 }8 X8 {& ]9 P3 p! s4 w11.8 本章小结 284
    + t% p! W8 _6 R9 x第12章 GUI应用程序 285
    4 s' z# w, ^! ]6 _12.1 UEFI事件处理 285! \( X' g- G2 L0 H; O& P
    12.1.1 键盘事件 285
    " D. b6 `0 C+ v4 Q  O12.1.2 鼠标事件 292
    % A; V3 T/ V& }+ b: Z+ d! h12.1.3 定时器事件 293% a7 Z! a# u4 _* i
    12.1.4 UI事件服务类 294
    # \) b1 k* \) P" X3 b; ]  W. H12.2 事件处理框架 297
    5 U; T; @  _) j' p* z12.3 鼠标与控件的绘制 302& h# k/ Z  a0 P
    12.3.1 鼠标的绘制 303( k9 }1 y$ B* I
    12.3.2 控件的绘制 305
    / U3 f9 R, T) o9 w  m12.4 控件系统包GUIPkg 306
    + u; M* Q1 v1 y; }: _5 h12.5 简单视频播放器的实现 309
    , A, a0 i* {8 d3 W+ v12.6 本章小结 315+ d1 V' T7 |* |* r- k6 p6 A0 B
    第13章 深入了解多任务 317
    , p# q0 d! K9 S" U3 T0 T) W13.1 多处理器服务 317
    1 `2 g% p0 o+ {6 G7 s13.1.1 EFI_MP_SERVICES_PROTOCOL功能及用法 317
    , n- A9 p/ w  r- K( ^13.1.2 启动AP的过程 324
    ( d: D- R! f. N- M# X13.2 内联汇编基础和寄存器上下文的保存与恢复 333
    9 s/ F; f7 o7 V$ J3 v; s" B13.2.1 内联汇编基础 333
    - U" B, v# F2 \& @* X9 C4 w2 c13.2.2 寄存器上下文的保存与恢复 335
    ( S# b% w. G& O6 S0 g13.3 多线程 336
    ( Y) V6 u. E1 }6 ?- u- Y5 j13.3.1 生成线程 337
    ! B' B. Q( R4 ?13.3.2 调度线程 340/ }; r3 V3 [& y/ K
    13.3.3 等待线程结束 341
      h/ z  g- @: U1 o- o' Q1 P13.3.4 SimpleThread服务 3411 x3 D1 i: F% S# ]
    13.4 本章小结 345 java8.com
    7 T/ v; `6 u, u' i9 S第14章 网络应用开发 346
    ) K7 m! y* x/ m5 s; N14.1 在UEFI中使用网络 348
    1 {7 _% a" N) Y( C% y14.2 使用EFI_TCP4_PROTOCOL 350
    5 p: P& Z1 l8 Y3 C- \14.2.1 生成Socket对象 3524 K+ s5 v& {8 |3 W/ Y7 J! y
    14.2.2 连接 3563 f; r- _- w/ `: x  M& c
    14.2.3 传输数据 358
    1 J, n* F: l5 L$ E9 o2 E, q14.2.4 关闭Socket 3615 D% I0 n# v! Z
    14.2.5 测试Socket 362
    2 r- y5 ?! B: s, d& ]* I# N14.3 本章小结 3630 j1 ?  ~. ~" E2 c; x
    第15章 使用C标准库 364
    0 r( W3 w7 a) g15.1 为什么使用C标准库函数 364" z% [+ T$ Z! j) ]
    15.2 实现简单的Std函数 365
    ! H/ _# y7 c' F4 O* a, F15.2.1 简单标准库函数包sstdPkg 366# I: M( J' l& S
    15.2.2 使用sstdPkg 3681 E- k; K, |+ K. d+ A* i! j
    15.3 使用EDK2的StdLib 369; o% x3 [; m. R5 }
    15.3.1 main函数工程 369
    3 w* E# t) R3 ?8 @( K; t/ ^/ R) d15.3.2 非main函数工程 3748 b8 p0 a& T8 }  }- l
    15.4 本章小结 376' a: A" b3 \$ G/ x
    第16章 Shell及常用Shell命令 377
    : O7 h- V6 e$ `16.1 Shell的编译与执行 377
    8 n2 N- Q( E2 ?4 \1 r: T7 h. a9 \16.2 Shell服务 379
    ( c( ~# n! r9 `* N2 `16.3 Shell脚本 3856 Q* x. m) ]" W9 h: y! V8 }
    16.3.1 Shell脚本语法简介 385
    ' X% [1 C$ V$ E2 g; C0 ?5 D* H16.3.2 自动运行指定应用程序 388
    + i& O3 e* e7 \1 k' ~" T- I; y16.4 Shell内置命令 388  f, L3 P: w0 i) T2 l- M
    16.4.1 调试设备的相关命令 388
    4 s% i- g6 r! N  l4 J16.4.2 驱动相关命令 390& n6 K% m9 q5 ?3 P5 s
    16.4.3 网络相关命令 392
    " M& R$ v- V& Z" H) Z9 x* W16.5 本章小结 394
    3 ^0 [3 S$ [  ^0 e附录A UEFI常用术语及简略语 3955 w& L& @' P1 K9 S
    附录B RFC 4646常用语言列表 3974 C$ O# ~9 Q) N
    附录C 状态值 398$ Q0 [8 d' k* }/ y
    附录D 参考资料 400
    " ?0 r0 k. [. Y% W1 Q  h/ l

% r5 L6 x" S% ^8 r- W9 s# ~! p

+ G" [; q' {! u5 \2 |3 I- K/ f百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
1 |7 J/ N0 B! k. N

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
关注下面的标签,发现更多相似文章
分享到:

回答|共 25 个

我正在学习

发表于 2023-9-23 07:10:04 | 显示全部楼层

我来白漂了 多谢

明朝宝剑

发表于 2023-9-23 10:12:18 | 显示全部楼层

路过,收下了,不错的论坛

世事几许

发表于 2023-9-23 17:13:36 | 显示全部楼层

真心不错 收下下

软糖酸酸甜甜啦

发表于 2023-9-24 08:11:44 | 显示全部楼层

白漂来了

独出山林

发表于 2023-9-24 11:44:46 | 显示全部楼层

良心网站,力挺

请叫我灬葛子楗

发表于 2023-9-24 12:53:48 | 显示全部楼层

真的无套路,大赞

细雨离云

发表于 2023-9-26 08:26:44 | 显示全部楼层

真的无套路,大赞

王后

发表于 2023-9-26 18:47:42 | 显示全部楼层

免费资源 真的无套路

赵曲明

发表于 2023-9-28 13:33:24 | 显示全部楼层

学习java,就选java吧了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则