25回答

0收藏

UEFI原理与编程 PDF 电子书

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

Java电子书:UEFI原理与编程   PDF 电子书 Java吧 java8.com
% y2 j) K: G5 g- p, o$ H' B; R
  L1 z# W5 f2 v作者:戴正华出版社:机械工业出版社出版时间:2015年01月
" r' ]4 s: H, m) s0 p$ b, h- p3 K! Q3 `+ X
编号:166-Java吧资源免费-X0001【Java吧 java8.com】/ S6 Z+ ^: d6 V- g0 {& B+ }
3 ]( @$ ]; [& K; s* I" W& @4 h. v
) h0 q* m! N0 G, ]2 b% [% C

( d/ ~' Y$ I( b: C+ }3 ?1 i4 a1 W1 _目录:8 X4 S$ R8 o7 v

    9 @, v4 _; O* f1 i3 j9 C3 g+ G. q4 [/ D& ]4 u6 C6 u# ]1 j

    * X, S5 o5 y2 Z( M& R5 x1 o前 言
    . C& ?" B! o# G4 H, i9 h% g第1章 UEFI概述 1
    4 A* A" O( R  p) m1.1 BIOS的前世今生 1
      g3 s6 Q# F1 r% ]$ [" \- t  w1.1.1 BIOS在计算机系统中的作用 1' ]( M$ u( Z2 ^0 H. m; C3 K
    1.1.2 BIOS缺点 2
    " ?' A) \: e( s! O+ v; o& ?9 K1.2 初识UEFI 2
    / f* S4 N8 p  ^" }. a1 p1.2.1 UEFI系统组成 3* p# i8 v# w, T' R" N
    1.2.2 UEFI的优点 42 k9 Y3 z% B7 Q! W0 H8 p
    1.2.3 UEFI系统的启动过程 5+ k* \. z! t4 k% q. E, C
    1.3 本章小结 12/ G: j! a- r- a9 w
    第2章 UEFI 开发环境搭建 14" H) s# O" b: Y1 q" M; D; M
    2.1 配置Windows开发环境 14
    8 P9 R- k0 E7 c3 |# J' O2 d' k3 g' X5 w2.1.1 安装所需开发工具 15
    8 h9 b( F% W7 k# K2.1.2 配置EDK2开发环境 15; A! g" C) E( l1 i3 ]
    2.1.3 编译UEFI模拟器和UEFI工程 17
    ! a/ U1 }/ d! j. L8 }$ I) b0 m2.1.4 运行模拟器 19
    & j# I+ H' f% S* c2.2 配置Linux 开发环境 21  C2 F& U- f. a3 N
    2.2.1 安装所需开发工具 225 |9 i7 l9 B1 E- _( Y
    2.2.2 配置EDK2开发环境 22' ~' e7 q0 `- n- V
    2.2.3 编译UEFI模拟器和UEFI工程 23& V  ^% y4 J* T& W1 }
    2.2.4 运行模拟器 24
    % Y' |; }1 T' g" v# ~2.3 OVMF的制作和使用 25
    8 B. h* X# [, p) E: Q2.4 UEFI的启动 27
    5 @" e7 A# H6 X; V# e( V/ `- Q2.5 本章小结 28. y- L4 k& k" s" `3 K5 t& b1 |2 g
    第3章 UEFI工程模块文件 29  I; O0 Y. ~6 r$ e1 I* ]
    3.1 标准应用程序工程模块 30) |5 b% L# r/ a0 E
    3.1.1 入口函数 30
    . b4 ?" i; Y. {3.1.2 工程文件 31: M- w3 O) r, p2 ^9 s/ |! P% w3 f
    3.1.3 编译和运行 37
    5 C% e# Z7 ^7 [3.1.4 标准应用程序的加载过程 37: N) E' R  S+ M2 L
    3.2 其他类型工程模块 431 ?% i% u7 D7 @3 G  g1 a8 f5 M2 b
    3.2.1 Shell应用程序工程模块 43, }! |& g; e; c( f, M
    3.2.2 使用main函数的应用程序工程模块 46( b, k! @6 ^5 `! ]% X- v6 U
    3.2.3 库模块 47* O# I6 N( N- w/ q+ y
    3.2.4 UEFI驱动模块 49
    8 X9 U# g& e/ n  o2 C3.2.5 模块工程文件小结 50
    2 u" K% I8 B$ f* ]- s3.3 包及.dsc、.dec、.fdf文件 51
    4 f% y3 f2 D7 ^9 q4 Y7 }3.3.1 .dsc文件 51$ t; U$ h+ g  l; n2 n
    3.3.2 .dec文件 56% b. r3 J: y9 z2 L( j+ T3 U
    3.4 调试UEFI 59
    . r7 o# M, B; Q/ E/ J! n3.5 本章小结 61
    5 A" r6 b/ |& r4 ?! j第4章 UEFI中的Protocol 62
    5 g$ W$ Q+ p. C4.1 Protocol 在UEFI内核中的表示 643 j- Z; W+ T+ P( k: V
    4.2 如何使用Protocol服务 65
    / E( g9 C( W5 ^, z; O, M4.2.1 OpenProtocol服务 66
    ! {9 o' P7 Z/ j1 v4.2.2 HandleProtocol服务 674 L1 y. R2 D: R2 q. l9 y
    4.2.3 LocateProtocol服务 69; g* h- i" B! N. u* q' c
    4.2.4 LocateHandleBuffer服务 69- P5 s9 X/ I/ ^  m
    4.2.5 其他一些使用Protocol的服务 71
    / k5 q8 U( W$ ]) N/ k4.2.6 CloseProtocol服务 72# h: g6 O1 A6 b7 K  q7 q: o" t9 C$ R
    4.3 Protocol服务示例 73
    & \* _6 p* {# a" T1 m. Y! F( h4.4 本章小结 75
      E; z9 \: S+ M  |第5章 UEFI的基础服务 760 \, A2 x! x# E5 J, X( y
    5.1 系统表 76: \8 o2 h# A2 O9 n
    5.1.1 系统表的构成 77
    # }. q3 {, u/ p8 C0 @6 {7 }; ~5.1.2 使用系统表 79( ^' v) K% G) ?4 p2 u
    5.2 启动服务 82
    / j) ?9 P' L- W  Q! b5.2.1 启动服务的构成 82
    " n: m! d9 `+ P! K' f/ P6 L3 G1 B5.2.2 启动服务的生存期 91
    . S- p/ }* s7 L/ t9 |" Y5.3 运行时服务 93
    1 S7 Q- ]  u' D- x5.4 本章小结 102
    ) Y7 P& K; C5 L* f: h& Y第6章 事件 103
    & q$ ^9 W/ D# K. V4 h5 N& o6.1 事件函数 104
    ) r2 r  p5 g2 I2 B2 ]& r6.1.1 等待事件的服务WaitForEvent 105+ ~5 e2 E6 p8 W2 s4 G6 B8 s
    6.1.2 生成事件的服务CreateEvent 1067 W0 {+ h) P2 n& W$ p+ \  J
    6.1.3 CreateEventEx服务 110
    1 J1 W& L+ e- z0 E" i* m! F6.1.4 事件相关的其他函数 1124 K6 @" L+ x6 o/ D$ u0 ?
    6.2 定时器事件 113
    + H0 I1 E4 V5 R) |) P; `6.3 任务优先级 114
      U5 r8 N/ m! t1 g. o$ B: I6 `6.3.1 提升和恢复任务优先级 115* V' x; A' y# I! R' I! W
    6.3.2 UEFI中的时钟中断 116
    % E$ f# S0 i% m' n& a7 o6.3.3 UEFI事件Notif?ication函数的派发 126
    . u0 P: F# \$ C5 L/ Q( M$ Z' {2 P8 M6.4 鼠标和键盘事件示例 127
    8 m/ o. x; v# q/ l7 z) ]6.5 本章小结 128
    7 c, b8 q& z8 D; `+ p8 `. N第7章 硬盘和文件系统 129
    - F. K$ k! k& R7 c0 p8 a) m7.1 GPT硬盘 1290 r' g" a( b" e9 v# V' G
    7.1.1 基于MBR分区的传统硬盘 129
    1 o0 [6 r" b' A3 Z7.1.2 GPT硬盘详解 130. s* d. B1 e3 g. D  C
    7.2 设备路径 134( j4 P- v; R  B/ o: ]
    7.3 硬盘相关的Protocol 139
    & a# u, Q' ~3 s1 q  B5 U7.3.1 BlockIo解析 140
    2 D9 m2 h2 P+ Q, j& X* \8 O0 O7.3.2 BlockIo2解析 142
    8 N" S5 s$ f0 a% y- k- j$ N7.3.3 DiskIo解析 146. l& Y3 W, k- r0 Z) C1 ^
    7.3.4 DiskIo2解析 147/ H4 ?9 V4 u) a: j0 G
    7.3.5 PassThrough解析 150  K) a" H* A; M5 ?3 A+ U9 X* _
    7.4 文件系统 1525 Z8 X! |& ?5 y) h" V7 l+ A: u" l
    7.5 文件操作 1535 I1 U2 g8 L/ s2 l  l2 H& A  K; T
    7.5.1 打开文件 154
    ( [8 S/ G( _: I) g7.5.2 读文件 156
    - N; a" A% K& d, A6 h7.5.3 写文件 159/ @) e$ `& Q( n
    7.5.4 关闭文件(句柄) 160
    + Q+ F) v+ r) _' L/ y, C7.5.5 其他文件操作 1607 L+ Z  H8 }/ ]  B% Q
    7.5.6 异步文件操作 162
    $ a$ f2 I9 U8 z  b: H" Y& G7.5.7 EFI_SHELL_PROTOCOL中的文件操作 166
    : L9 q* \/ y, ^4 h7.6 本章小结 1704 }/ z& C, A4 h& A" h! z; R" r$ V
    第8章 开发UEFI服务 1718 W( x8 d2 N1 N
    8.1 Protocol服务接口设计 172+ ]# M7 Y8 D3 B8 k
    8.2 Protocol服务的实现 174
    : [0 s0 C# x' Y- Y( }8.3 服务型驱动的框架 178" a7 @  S4 d% @8 @( b! l& P6 _
    8.4 ffmpeg的移植与编译 179
    , W2 q3 W. d7 G8.4.1 libavcodec的建立和移植 181/ |5 ^1 @3 H  a* T' O
    8.4.2 其他库的建立与移植 182  e. S" E9 _$ D- P: y0 m  h
    8.4.3 在驱动型服务中使用StdLib 186
    & x9 }8 F* S; _% C0 g% T8 D8.5 使用Protocol服务 188
    ) {$ k) D& }" [) b  L, c8.6 本章小结 190
    6 P8 c# T3 H+ M0 h, `4 s" U+ j第9章 开发UEFI驱动 191
    8 {+ x/ \4 c3 J& I$ r9.1 UEFI驱动模型 192
    $ v9 ]& ~( j1 [! `  d6 Y, V, {2 G9.1.1 EFI Driver Binding Protocol的构成 1929 ^+ |$ ~7 [  I6 g# R/ P* y7 h
    9.1.2 EFI Component Name Protocol的作用和构成 196) m8 y6 r& l  |% f/ T& Y
    9.2 编写设备驱动的步骤 197
    8 J+ q/ e' |. |7 c9.3 PCI设备驱动基础 199
    : m8 J3 e6 ^7 }& g1 y  {  V9.4 AC97控制器芯片的控制接口 202: ^' y* V% A3 H4 U2 k0 t
    9.5 AC97驱动 206. \6 ^& [6 _+ N, ]
    9.5.1 AC97驱动的驱动服务EFI_AUDIO_PROTOCOL 206$ H1 O9 z+ s+ y. ~  B* Y& K$ d( _
    9.5.2 AC97驱动的框架部分 213( \: G0 L3 ?4 \6 p$ j1 j2 c! ~- x, |
    9.5.3 AC97驱动实验 2209 n. n7 G) `7 k, {' f/ ~4 s
    9.6 本章小结 2213 M& a# M- z0 Z9 Q
    第10章 用C++开发UEFI应用 222
    3 [( ?5 |( Y7 U, r0 g) r8 n10.1 从编译器角度看C与C++的差异 222+ x8 f8 c' p& B) \$ v+ }) b9 D2 L
    10.2 在EDK2中支持C++ 224; b- J: ]' R9 V, j% m
    10.2.1 使EDK2支持C++基本特性 224$ M9 @) w) ]4 ^+ d0 X$ q3 I
    10.2.2 在Windows系统下的程序启动过程 2269 ?3 I& P5 J/ R9 J/ q, n% O8 {; k
    10.2.3 在Windows系统下支持全局构造和析构 229
    3 K- v6 D9 G+ ^2 o. W. `7 D10.2.4 在Linux系统下的程序启动过程 231, w/ {9 S3 S' d, V. k/ G, E6 V
    10.2.5 在Linux系统下支持全局构造和析构 240
      S" {+ \9 g2 J9 |/ F, N10.2.6 支持new和delete 242
    5 M) l2 z" U& _7 ]1 J2 ]( N( `10.2.7 支持STL 243
    1 N) X/ @' a! t0 h7 N( Y( V3 {10.3 GcppPkg概览 243
    & C$ _, ?3 I, ?* s& ~10.4 测试GcppPkg 2460 H: c. ~+ K& B5 \& e
    10.5 本章小结 248
    3 ~' B4 v" v" @7 y, s0 {第11章 GUI基础 2494 I+ l- u" W2 J
    11.1 字符串 2493 r8 A4 o% z, }- m+ C! O0 ~8 t
    11.1.1 字符串函数 249
    * b( Q0 N$ H5 I11.1.2 字符串资源 251
    5 E: i0 H! t+ S% j11.1.3 管理字符串资源 255
    2 O& N* p! z3 K11.2 管理语言 260
    4 w, i! I& [! @$ b( |2 U11.3 包列表 262
    7 `3 n8 s6 ^& e. F# R11.4 图形界面显示 263% n( o+ T) P% R3 b
    11.4.1 显示模式 2646 N+ ]' L; o/ n% m2 @. O4 Q
    11.4.2 Block Transfer(Blt)传输图像 267+ ?4 b* E, Y- h" ?2 c% C2 P& u+ t3 A
    11.4.3 在图形界面下显示字符串 269: f; _% @, A- K) m
    11.5 用SimpleFont显示中文 272
    & s8 n; w8 r5 h5 S5 w! @: _' i11.5.1  SimpleFont 格式 273
    ; X% D6 a6 y% \; u) j" x11.5.2 如何生成字体文件 275; _' m3 s* L, G% {% `. G
    11.5.3 如何注册字体文件 276# Q& x4 b; h/ h- K) f
    11.6 开发SimpleFont字库程序 2775 U. I2 w% J% x( j# }1 ]
    11.7 字体Font 278" q" D: W# {7 V0 R" F. X# a5 p
    11.7.1 Font的格式 279; j1 x. P! V5 U7 |- [
    11.7.2 字体包的格式 2798 @* f. P* ^+ k+ L2 k" H5 \0 P
    11.7.3 为什么Font性能高于SimpleFont 281
    & n$ C! J9 A6 f5 _5 R1 r11.8 本章小结 284! D7 [. E3 j7 [3 V
    第12章 GUI应用程序 285
    , G6 B2 p8 V3 ?7 v" x( x) M$ m12.1 UEFI事件处理 285/ z; ^3 f" y; S/ s" r3 s
    12.1.1 键盘事件 2856 A5 B: b9 A7 ~. E+ H, N( g2 T& R
    12.1.2 鼠标事件 292
    5 ^" T5 O1 P( r" ^, U# D12.1.3 定时器事件 293
    4 N% P/ Y; ]7 ^12.1.4 UI事件服务类 294
    . a% h  U0 L  C2 }, `( Y& t8 H12.2 事件处理框架 297, b* e+ U) N2 }8 L9 r* k
    12.3 鼠标与控件的绘制 302
    2 N: Y$ S4 s0 f. R0 d7 i  _+ b12.3.1 鼠标的绘制 303; x& o( W5 m+ I' P
    12.3.2 控件的绘制 305" |2 s) M  Z/ Y0 X2 W: e6 w6 n
    12.4 控件系统包GUIPkg 306
    / @) V1 l6 z0 U+ {12.5 简单视频播放器的实现 309
    + D$ e" z. e$ N, t0 ?$ }  d12.6 本章小结 315
    8 c/ H: |( ^# _1 s' K# h* t第13章 深入了解多任务 317
    % v5 L! [% _$ h1 T! j- u8 v13.1 多处理器服务 3177 m* @* Q7 z& \/ n# A
    13.1.1 EFI_MP_SERVICES_PROTOCOL功能及用法 317( `. M  C: ~3 Q4 a
    13.1.2 启动AP的过程 324: f2 T8 G& W% j7 y" i
    13.2 内联汇编基础和寄存器上下文的保存与恢复 333
    & l4 {  V* P- |2 g! P. n9 h$ m13.2.1 内联汇编基础 333/ q7 U' k) R) I5 Q' q
    13.2.2 寄存器上下文的保存与恢复 335
    ) P: J2 \% X  X% L/ v13.3 多线程 336. O$ E& J# _- I) q  F( D! s3 N
    13.3.1 生成线程 337& j1 |  D4 U6 R& V9 a
    13.3.2 调度线程 340
    6 B3 M# E- p3 v( b9 v13.3.3 等待线程结束 341
    6 O2 n. E5 J; Q4 Z. g! K& ~) M13.3.4 SimpleThread服务 341& w, C$ S! M5 I
    13.4 本章小结 345 java8.com- e) S0 Y" A& z5 x$ J
    第14章 网络应用开发 346
    ) Y: f" Y8 M4 z: q14.1 在UEFI中使用网络 348
    4 C  n- p) |1 ~; H# C5 ~14.2 使用EFI_TCP4_PROTOCOL 350) g* f, o1 h+ T' z. R( d
    14.2.1 生成Socket对象 352' J- n. y0 G/ X' o
    14.2.2 连接 356
    1 j$ T- L1 K8 x: h0 z2 i14.2.3 传输数据 358
    ) y1 Y  v+ n6 q& K14.2.4 关闭Socket 361
    2 `( I5 J6 H, k+ P4 t5 H( `, y: w2 Z14.2.5 测试Socket 3625 d; @3 B0 v9 H" [' o* j4 s6 J6 p
    14.3 本章小结 3637 U; t/ K$ \2 J- F5 c
    第15章 使用C标准库 364
    & H7 P- j) Z) r. p0 J6 v  ?15.1 为什么使用C标准库函数 364
    - w2 h0 r# u% H' |7 n$ x" l0 o- M15.2 实现简单的Std函数 365
    + B9 f% N9 x! d15.2.1 简单标准库函数包sstdPkg 366
    # }6 H5 S' f; [. o* w3 {/ k15.2.2 使用sstdPkg 368
    ( C# l6 y. d- O1 W& e3 r. K* K. n15.3 使用EDK2的StdLib 369
    $ y& |' C. V: U( e7 f2 Y15.3.1 main函数工程 369
    , Y/ q1 O$ Z: u, {* @% Q15.3.2 非main函数工程 374
    - F# `$ U2 V% ?. i( e15.4 本章小结 376
    7 u* u/ w" x$ R" ^& H第16章 Shell及常用Shell命令 3777 E4 E1 M* ?/ o; `8 ~# l) F
    16.1 Shell的编译与执行 377
    - n+ A# Y& Z! y7 Z6 e/ @& i. V# A16.2 Shell服务 379* j+ ?8 V2 [1 q
    16.3 Shell脚本 385! O! x" W" o% n/ s
    16.3.1 Shell脚本语法简介 385
    6 [; P8 i" |3 c' \16.3.2 自动运行指定应用程序 388$ U# M4 ~+ B* w
    16.4 Shell内置命令 388
    ' z7 e. E: k8 Z% t3 }) E16.4.1 调试设备的相关命令 3885 J% y- j8 V# Z, ^8 }
    16.4.2 驱动相关命令 390
    1 v2 \. `) O0 z$ j& E16.4.3 网络相关命令 392
    , u/ b- D2 W/ R2 I16.5 本章小结 394
    . @% ]1 O3 a3 F附录A UEFI常用术语及简略语 395% M* p9 M+ f- T" \, C" J- r3 a
    附录B RFC 4646常用语言列表 397
    8 j9 K1 a1 B+ j6 i  S附录C 状态值 398( G7 X: [* I0 d7 e! Q
    附录D 参考资料 400; P9 n/ ?8 G1 g) j

& y/ g+ h! b7 }- ~7 O

; c/ M% k, ^% m1 \8 n百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

% p) Q3 \6 q% J) c6 q# K2 o1 E# H

本帖子中包含更多资源

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

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吧了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则