25回答

0收藏

UEFI原理与编程 PDF 电子书

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

Java电子书:UEFI原理与编程   PDF 电子书 Java吧 java8.com
2 T$ Q1 k  o9 ?: v. L5 {3 k' B/ V" Q, A  |$ I7 y
作者:戴正华出版社:机械工业出版社出版时间:2015年01月 : ^3 V, v8 j; E) L" F
0 V9 u6 N; i, P% p0 K# j
编号:166-Java吧资源免费-X0001【Java吧 java8.com】
. C7 _+ R' s5 k" J+ B' W+ `
6 o! H9 U+ T* N
0 @# |, h7 w8 e

( r. |7 x& V# _" d, l目录:2 A# V7 H0 T, n0 m' c' |4 g
    ( i8 n7 F! a8 ~. M' r3 e0 G
    ' w% G1 ~9 K' V  A" ]9 y( z8 g/ B

    ' |6 M6 {& R1 t3 o/ \7 @前 言$ \9 }9 E) Y/ O2 p) W, u- \  d
    第1章 UEFI概述 1
    % ^* f% O- `6 L) K: M0 d; p  u1.1 BIOS的前世今生 1
    6 C! j& S: O3 G. I& M/ E1.1.1 BIOS在计算机系统中的作用 18 L1 _: G  S/ v; ~* ^2 X. w
    1.1.2 BIOS缺点 2
    + J* t6 s9 a) r1.2 初识UEFI 2
    & _1 V8 M6 a1 T1.2.1 UEFI系统组成 39 x  b3 @2 l8 q( Z+ t. M
    1.2.2 UEFI的优点 4
    $ Q7 q6 ?6 m! o9 P& O- b1.2.3 UEFI系统的启动过程 57 d6 }1 s& L0 Z2 G, _3 N  {" D  {
    1.3 本章小结 12. s4 f+ }' J1 l* \+ P
    第2章 UEFI 开发环境搭建 14
    ' y; E$ A- t6 f8 }* z2.1 配置Windows开发环境 14; q- ~/ g8 N* ^/ X* V
    2.1.1 安装所需开发工具 15
    1 c  r& g# ~! G' R; R  m2.1.2 配置EDK2开发环境 157 z" t, Q/ o: C1 w0 Z4 V3 D
    2.1.3 编译UEFI模拟器和UEFI工程 17
    # v# Z6 Y, ?" u9 G2.1.4 运行模拟器 19
    9 E+ f1 K) u. f2.2 配置Linux 开发环境 21
    ( o' y9 R: {! L+ m$ Z* r8 I- I2.2.1 安装所需开发工具 22
    " _* K" y( F+ S% K. ^6 D/ T2.2.2 配置EDK2开发环境 22
    3 w% n7 J2 t( M, o( \: p5 |$ @2.2.3 编译UEFI模拟器和UEFI工程 23
    1 a1 M/ {. H0 B7 D2.2.4 运行模拟器 24
    - X  j0 G- c! P6 r5 q! i& k2.3 OVMF的制作和使用 25, g* [& N5 v1 V
    2.4 UEFI的启动 272 X8 |' a& t& Q5 [, s4 d  q
    2.5 本章小结 28
    * V# c) E9 s, ]4 e' W第3章 UEFI工程模块文件 295 W6 ]" H! G, K$ a% U7 `5 w
    3.1 标准应用程序工程模块 30
    . l- x% o! W) L7 @3 s3.1.1 入口函数 30
    ; n8 @- z; h% E3.1.2 工程文件 31
    ) X+ R) l' z7 P; E7 F5 E& n3.1.3 编译和运行 37
    6 Q1 ^1 T8 d7 W) F8 r3.1.4 标准应用程序的加载过程 37! b3 n" b2 R) `: L
    3.2 其他类型工程模块 43
    ' }' G: f; m2 \0 t! o0 ?3.2.1 Shell应用程序工程模块 43
    : j6 N; |/ o7 ^7 |/ s4 {3.2.2 使用main函数的应用程序工程模块 464 m  K- Z/ b, h& O8 P5 e% O
    3.2.3 库模块 47
    ! E8 ?" @3 M. w# A. Y  B- s/ R3.2.4 UEFI驱动模块 49
    5 I' K7 Z* A7 n9 {, x% o3.2.5 模块工程文件小结 50  U- Y4 s2 e( L( d
    3.3 包及.dsc、.dec、.fdf文件 51
    9 n+ P6 l/ w4 s- w* [3.3.1 .dsc文件 51) M% T0 }2 q/ N' [4 }* Z$ h
    3.3.2 .dec文件 56
    " F0 i9 G' y# t+ [9 W( s- P3.4 调试UEFI 59
    ; k, ?/ @; d' T& b. c3.5 本章小结 61
    8 z* i! n- Q8 V# q第4章 UEFI中的Protocol 62
    ' ]; m1 O3 ], l) B0 `) w4.1 Protocol 在UEFI内核中的表示 64" H0 Q) [+ ~: `; ^
    4.2 如何使用Protocol服务 65* J  w, ]2 P! j! _% U
    4.2.1 OpenProtocol服务 66
    - B( O) y" i6 e! `6 h4.2.2 HandleProtocol服务 67
    . U, v: v7 m3 _4.2.3 LocateProtocol服务 69
    ( ^# J1 {9 G& G8 C. w  c4.2.4 LocateHandleBuffer服务 69
    + o- Y7 E- T" Z4.2.5 其他一些使用Protocol的服务 71' Y( j# n' O' a! W( U
    4.2.6 CloseProtocol服务 72$ i% n( K; L; S! s" R) D, Z4 `
    4.3 Protocol服务示例 73
    ) z' |, z) ?; R) b4.4 本章小结 750 z0 o% b$ ]8 L  Q! b- l, ]
    第5章 UEFI的基础服务 76
    # b% z( G# s4 f  G4 ?1 N! W, r: ^5.1 系统表 76
    0 S+ w5 `# O: T2 _4 k! C+ w+ D5.1.1 系统表的构成 77
    1 d* [7 j/ ^, r6 m, ?2 u* R5.1.2 使用系统表 79+ p) f$ x/ M- ^* T! ]/ v# J3 s/ K5 D
    5.2 启动服务 82! x! u' c. A& r1 q7 P
    5.2.1 启动服务的构成 82  b  V5 y- x% R  v1 j
    5.2.2 启动服务的生存期 91
    0 D4 [$ [' G- V5.3 运行时服务 93
    " _' U; N6 T+ w$ M8 m: t! {5.4 本章小结 102" Z, z& T% _+ e/ m8 @9 {' Z/ j
    第6章 事件 103
    & C9 ~. m7 Z* [, z7 x. u& J6.1 事件函数 1043 {2 @: g( w) w# t2 n1 c' ~5 m8 h% |
    6.1.1 等待事件的服务WaitForEvent 105
    5 N8 _/ ?% r+ ^0 V. A0 }6.1.2 生成事件的服务CreateEvent 106
    ; ~* Z( X; n/ J1 G, \8 k6 m( W6.1.3 CreateEventEx服务 110& T& k6 P; v! B/ d' F0 X
    6.1.4 事件相关的其他函数 112
    % l  i9 ?2 }2 I# C" K# p. `7 @6.2 定时器事件 1139 \$ ~" ~0 A, i, i3 N
    6.3 任务优先级 114* c; x% E0 W! k' P$ m8 R; t
    6.3.1 提升和恢复任务优先级 115$ ^1 ^/ m1 o4 V: a8 z
    6.3.2 UEFI中的时钟中断 116
    & |+ s: v6 a5 ^6.3.3 UEFI事件Notif?ication函数的派发 126$ Q! Y% j6 a3 v( K* m& w$ E3 Q
    6.4 鼠标和键盘事件示例 127# A" U# _0 s- [+ J
    6.5 本章小结 1281 ?( j. Q% d, S. e
    第7章 硬盘和文件系统 1299 L. p/ ^6 F8 K. }) K8 ?
    7.1 GPT硬盘 1294 J5 `3 M1 z  D7 K) h( A
    7.1.1 基于MBR分区的传统硬盘 129
    - f: ^& y" w$ `& b4 M6 ^7.1.2 GPT硬盘详解 130' t7 O; k9 D3 ]# _3 k% G6 \
    7.2 设备路径 134
    ( W+ [- _5 C: U7.3 硬盘相关的Protocol 139
    3 V: m6 q: K- |6 R* a  S7.3.1 BlockIo解析 140
    * J" {& ^5 R" @1 q& j) b8 q7.3.2 BlockIo2解析 142; @1 k5 }5 X* r8 K4 J6 Y4 n
    7.3.3 DiskIo解析 1467 g" N# U, c) Z
    7.3.4 DiskIo2解析 147) K9 A6 N/ ?$ l1 F' e& d; M5 @& i' J
    7.3.5 PassThrough解析 150
      ~( @0 t. u4 s/ |7 n) ~7.4 文件系统 152
    ) E& K5 o/ G+ d  b7.5 文件操作 1534 z; _% i$ f5 @6 Z  Q/ Y" [
    7.5.1 打开文件 154
    ' u$ L' m; d, H2 m6 L3 l) E7.5.2 读文件 1566 F0 k: M& X1 ]  g
    7.5.3 写文件 159
    9 l9 ~5 x  }( h0 }, ?+ j) F! Y3 ~7.5.4 关闭文件(句柄) 160
    ' m8 O2 t8 S+ R7.5.5 其他文件操作 160
    # M' \" i3 L# @6 C3 _7 o# J7.5.6 异步文件操作 162
    9 Y% ?1 V' z! c# Z  G8 {7.5.7 EFI_SHELL_PROTOCOL中的文件操作 166
    $ M5 m9 A, Z. n# B5 K2 c1 O7.6 本章小结 170
    % C. q. X) A9 \% e! D: {1 F第8章 开发UEFI服务 171/ M, B& u' n! [
    8.1 Protocol服务接口设计 172
    # U8 I8 ~5 l7 e( N( e4 H8 S8.2 Protocol服务的实现 174
    $ |. ]( L/ P# X5 U9 X' r. ^8.3 服务型驱动的框架 178. i$ X6 p' z4 d5 A
    8.4 ffmpeg的移植与编译 179. f! ~" Y) k  p& h% T
    8.4.1 libavcodec的建立和移植 181! R( G$ L0 J  G, r
    8.4.2 其他库的建立与移植 182# G; u1 @% K  C, Y' S/ R
    8.4.3 在驱动型服务中使用StdLib 186* K" n4 D! l; C( l9 \5 r
    8.5 使用Protocol服务 1884 [- f4 N/ {7 j# ]* D9 j! r' ]
    8.6 本章小结 190
    : y. ]' h- A2 o  @0 l" w4 \7 y第9章 开发UEFI驱动 191- p5 H- q) J! M& X/ N4 X, D: y
    9.1 UEFI驱动模型 192% F' t) T& V% R1 q) T, b3 k9 T7 K
    9.1.1 EFI Driver Binding Protocol的构成 1920 `1 s3 @. a4 f0 n2 Z) n0 `3 i
    9.1.2 EFI Component Name Protocol的作用和构成 196$ O0 M2 R* ~7 @
    9.2 编写设备驱动的步骤 197  J" _+ _0 b4 Z' c+ U6 g
    9.3 PCI设备驱动基础 199
    : @4 F, _. D$ u0 E9.4 AC97控制器芯片的控制接口 2024 ]9 f6 D" ?, h
    9.5 AC97驱动 206$ z! b  ~$ ?. n$ U
    9.5.1 AC97驱动的驱动服务EFI_AUDIO_PROTOCOL 206( }9 m8 ^6 n5 N3 v! V
    9.5.2 AC97驱动的框架部分 213: H- V9 d2 g; W" H$ ~, ?, d- Y$ c
    9.5.3 AC97驱动实验 220
    * q( z- D* N& _) |7 ~9.6 本章小结 221
    9 o' Y9 c" j) Q3 t$ |4 ]第10章 用C++开发UEFI应用 222, N2 ?2 X8 a; l0 j4 o+ _5 c
    10.1 从编译器角度看C与C++的差异 222& V3 j8 c$ k, m* s& q' P
    10.2 在EDK2中支持C++ 2245 ?5 V! D! H: n0 i3 S
    10.2.1 使EDK2支持C++基本特性 224
    . j6 H/ l: H% j' q+ A- G) Z* \3 G  P10.2.2 在Windows系统下的程序启动过程 226
    % t% @" R) ~/ _" L7 J3 [10.2.3 在Windows系统下支持全局构造和析构 229
    6 F0 B0 H3 F# z10.2.4 在Linux系统下的程序启动过程 231
    6 ?- E& b7 i( R$ a- Y, C# H+ ]10.2.5 在Linux系统下支持全局构造和析构 240
    / c. y  e7 E/ R0 N8 M10.2.6 支持new和delete 2423 z7 E; M6 s5 d: C' p8 g+ [
    10.2.7 支持STL 243
    + C( P2 ~  P" V  m10.3 GcppPkg概览 2438 C' h7 U* N. r" Q1 c
    10.4 测试GcppPkg 246" k7 Y8 L# N7 O- ]8 w7 v5 j
    10.5 本章小结 248
    + U1 S8 G: v" C7 [2 u* V+ y第11章 GUI基础 249
    + i# F) X; g  G$ Y11.1 字符串 249
    ( D3 u3 |1 I) ~2 z8 w11.1.1 字符串函数 249
    $ F9 U6 E0 h3 ?. l! H11.1.2 字符串资源 2511 _% y5 r7 A3 O. z5 H- E/ @  W! F
    11.1.3 管理字符串资源 255
    5 [" V9 K7 o' f! ^5 I8 `11.2 管理语言 260( r! a6 a! \! Y/ p
    11.3 包列表 262
    4 f( N9 ?( w- e" }2 i11.4 图形界面显示 263+ r5 H. a, X0 {9 g. K: U  o8 k* z
    11.4.1 显示模式 264
    ' q' ~& o) Y9 L2 B! ~' s  {  p, F11.4.2 Block Transfer(Blt)传输图像 267, o: s. O, n' j2 ~4 K& z3 G
    11.4.3 在图形界面下显示字符串 269
    # x! g$ Z/ O6 q0 d$ i2 |$ d11.5 用SimpleFont显示中文 2720 i! Z5 k( ~# g; g: N
    11.5.1  SimpleFont 格式 273
    7 M* o  j3 u4 O; H11.5.2 如何生成字体文件 2756 I0 W2 |% D; c5 s2 P6 }% U
    11.5.3 如何注册字体文件 276
    ) g. s5 s8 S+ [/ m( f4 |5 o11.6 开发SimpleFont字库程序 277
    / t" w1 u' _% y- w; S0 f9 c- p11.7 字体Font 2784 }5 o0 a! K$ ?3 ^& ~5 c( \
    11.7.1 Font的格式 279. k( D; q( r0 d- Z
    11.7.2 字体包的格式 279
    0 ]5 i" U% z) |, v11.7.3 为什么Font性能高于SimpleFont 281
    * [8 ?, S  p; \9 S% L11.8 本章小结 284
    6 y9 B3 Z* J/ c( \8 Q; B: `第12章 GUI应用程序 2851 t; K. Z" J4 y) ?! f
    12.1 UEFI事件处理 285: t* t- i! Z# S' \1 j
    12.1.1 键盘事件 2855 y  F& H/ E( Q
    12.1.2 鼠标事件 292
    4 o& N8 Y# v8 g: ?. |12.1.3 定时器事件 293
    2 B/ k% [5 r5 _12.1.4 UI事件服务类 294  t& K# U' u$ h) m/ E+ f
    12.2 事件处理框架 297
    % ~  G5 j, e, z- F12.3 鼠标与控件的绘制 302
    5 T5 f1 c0 s" h0 J: X5 [; o- X12.3.1 鼠标的绘制 303
    . B  q$ H4 v& _* d7 }( W3 n1 p12.3.2 控件的绘制 305' F% A, \/ K! X5 u- x/ @" S7 N! }
    12.4 控件系统包GUIPkg 306& A% R3 R: R  Z! z# P1 C+ k! w
    12.5 简单视频播放器的实现 309; m2 s# d+ C! _- j
    12.6 本章小结 315: l% M7 P+ U9 A9 E$ {' M1 y! f, z
    第13章 深入了解多任务 3172 ]% @6 e  v3 G  m* \4 G+ _! G
    13.1 多处理器服务 317  C$ h* h4 c. P$ j
    13.1.1 EFI_MP_SERVICES_PROTOCOL功能及用法 317  }0 q' Y+ O8 y; O1 e  a
    13.1.2 启动AP的过程 324
    ' o/ s7 ?) m4 H$ i7 b; K9 X13.2 内联汇编基础和寄存器上下文的保存与恢复 333- I8 R! [9 P* b# e8 Z7 m
    13.2.1 内联汇编基础 333
    " M/ R5 H$ q* N, \! c/ m13.2.2 寄存器上下文的保存与恢复 335% M# B+ b% s, \* |/ H$ T* h
    13.3 多线程 336: b7 i5 S0 O9 l' @" Q8 X6 H
    13.3.1 生成线程 3379 ?" \3 P% m" P, N! L) x  {* i
    13.3.2 调度线程 340& f% \$ d8 `. e+ H7 G9 o) j
    13.3.3 等待线程结束 341# Y7 ^1 L8 l- k
    13.3.4 SimpleThread服务 341
    - F5 ?& ]) R; w1 M7 I5 g# u4 w13.4 本章小结 345 java8.com
    ' @3 y! ^. R: [5 X$ m( K! D( I; [2 ^$ {第14章 网络应用开发 346& C7 o7 W- f$ l6 ?
    14.1 在UEFI中使用网络 348
    9 n( W8 ]1 \/ a# I0 |7 z- v14.2 使用EFI_TCP4_PROTOCOL 350
    # v7 b  ~) d+ w4 |14.2.1 生成Socket对象 352! v; W* V! O; S; P4 L, B% I0 }% x# A
    14.2.2 连接 3565 i* u/ b! |/ {2 K) E
    14.2.3 传输数据 358
    & [* Q) v! q' A' k14.2.4 关闭Socket 361! a1 }# P7 o5 R6 q; _
    14.2.5 测试Socket 3627 W$ p" i5 [, j* ?2 ^* l) u. D- N
    14.3 本章小结 363( S  \; y) E/ X& L, \
    第15章 使用C标准库 364
    ! J/ P  z% S( @15.1 为什么使用C标准库函数 364
    . o& v7 v: c1 L$ N" L15.2 实现简单的Std函数 365
    / H9 L3 N0 u) T15.2.1 简单标准库函数包sstdPkg 366) v# @- P: N) j5 y8 t3 p6 h
    15.2.2 使用sstdPkg 368
    3 e7 |6 Q) G9 ~0 S5 @15.3 使用EDK2的StdLib 369$ A8 E, r$ z" U
    15.3.1 main函数工程 369
    + y: Z3 h' d3 }; N15.3.2 非main函数工程 374: O7 ~5 t" h" N2 q, X' U) z: k3 Q
    15.4 本章小结 376
    - t, f9 x9 ?- y6 U4 W第16章 Shell及常用Shell命令 377$ o2 }* O! g2 P0 F. N
    16.1 Shell的编译与执行 377
    6 W: G, g( \* \% N6 z9 f% X16.2 Shell服务 379( k4 ~, p* Q0 U3 m+ z- j5 Q2 D; u
    16.3 Shell脚本 385
    ' E1 v% E# h6 Q# U& Y16.3.1 Shell脚本语法简介 385) D) C; z6 Q) X7 t- `3 y
    16.3.2 自动运行指定应用程序 388  t9 q9 c. V' O5 B! z" o
    16.4 Shell内置命令 388: i: V5 M( G0 @  {5 U
    16.4.1 调试设备的相关命令 388
    5 b4 N7 K6 o8 Q/ {* x$ o; a16.4.2 驱动相关命令 3904 e5 P4 p( J: e5 G. Y
    16.4.3 网络相关命令 3920 g: J2 L3 |- f6 q- ^8 U& V9 P
    16.5 本章小结 394
    " F7 `; C# l2 g4 a0 E3 d$ n% }! b+ Y附录A UEFI常用术语及简略语 3957 W* K) i) b7 w! x; [3 I
    附录B RFC 4646常用语言列表 397; ]! y5 O2 D# \) F! d4 B
    附录C 状态值 398
    6 H' N7 a4 X. H: L9 k/ z附录D 参考资料 400% m0 b- y6 J* L. p$ _

( G9 V, }2 T, V0 }" ~5 w7 V

+ V+ ]1 n5 _; q; M. i8 S& u; F百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
+ E/ P4 k- Q/ t5 R1 f

本帖子中包含更多资源

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

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

本版积分规则