濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁惧墽绮换娑㈠箣閻戝棛鍔┑鐐村灦閻燂箓宕曢悢鍏肩厪濠电偛鐏濋崝姘舵煟鎼搭喖寮慨濠冩そ瀹曟鎳栭埞鍨沪闂備礁鎼幊蹇曞垝瀹€鍕仼闁绘垼妫勯拑鐔兼煏婢舵稓鐣遍柍褜鍓涢弫濠氬蓟閵娿儮鏀介柛鈩冧緱閳ь剚顨婇弻锛勨偓锝庡亞閵嗘帞绱掓潏銊ユ诞闁糕斁鍋撳銈嗗笒鐎氼剛澹曢崗鍏煎弿婵☆垰鐏濇禍褰掓煕閻愬灚鏆柡宀嬬秮閹晠鎮滃Ο绯曞亾閸愵喗鍋i柍褜鍓熼弫鍐焵椤掆偓瀹撳嫰姊洪崨濠勨槈閺嬵亜霉濠婂嫮鐭掗柡灞诲姂瀵潙螖閳ь剚绂嶆ィ鍐╁€垫繛鍫濈仢閺嬫稑顭胯闁帮綁鐛幋锕€顫呴柣姗嗗亝閺傗偓闂佽鍑界紞鍡樼鐠烘í缂氬┑鐘叉处閳锋垹绱撴担鍏夋(妞ゅ繐瀚烽崵鏇㈡偣閾忚纾柟鐑橆殔缁犳盯鏌eΔ鈧悧鍐箯濞差亝鈷掗柛灞炬皑婢ф稓绱掔€n偄娴鐐寸墵楠炲洭顢橀悩娈垮晭闁诲海鎳撴竟濠囧窗閺嶎厾宓侀柡宥庡幗閻撶喖鏌ㄥ┑鍡樺櫣婵¤尙绮妵鍕敃閿濆洨鐣奸梺鍦嚀鐎氫即骞栬ぐ鎺撳仭闁哄娉曢鍥⒒閸屾艾鈧娆㈠璺虹劦妞ゆ帒鍊告禒婊堟煠濞茶鐏¢柡鍛板煐鐎佃偐鈧稒岣块崢鐐繆閵堝繒鐣虫繛澶嬫礈閼洪亶宕稿Δ浣哄帾闂佹悶鍎崝灞炬叏瀹ュ棭娈介柣鎰綑濞搭喗顨ラ悙宸剶闁诡喗绮撳畷鍗烆潨閸℃﹫绱欓梻鍌氬€搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇氱秴闁搞儺鍓﹂弫宥夋煟閹邦厽缍戦柍褜鍓濋崺鏍崲濠靛顥堟繛鎴炶壘椤e搫顪冮妶鍐ㄥ姕鐎光偓閹间礁钃熸繛鎴旀噰閳ь剨绠撻獮瀣攽閸モ晙绨┑鐘殿暯閸撴繆銇愰崘顔藉亱闁规崘顕ч拑鐔兼煥閻斿搫孝缂佲偓閸愵喗鐓冮柛婵嗗閳ь剚鎮傚鍐参旈崨顔规嫼婵炴潙鍚嬮悷褏绮旈鈧湁婵犲﹤楠告晶鐗堜繆閸欏濮嶆鐐村笒铻栭柍褜鍓氶崕顐︽煟閻斿摜鐭婇梺甯到椤曪綁骞庨挊澶屽幐闂佸憡鍔︽禍鐐烘晬濠婂牊鐓涘璺猴功婢ф垿鏌涢弬璺ㄐч挊鐔兼煕椤愮姴鍔滈柣鎾寸☉闇夐柨婵嗙墱濞兼劗鈧娲栭惌鍌炲蓟閳╁啯濯撮悷娆忓绾炬娊姊烘潪鎵妽闁圭懓娲顐﹀箻缂佹ɑ娅㈤梺璺ㄥ櫐閹凤拷 [闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞妞ゆ帊绀侀崜顓烆渻閵堝棗濮х紒鐘冲灴閻涱噣濮€閵堝棛鍘撻柡澶屽仦婢瑰棝宕濆鍡愪簻闁哄倸鐏濋顐ょ磼鏉堛劍宕岀€规洘甯掗~婵嬵敄閽樺澹曢梺鍛婄缚閸庢娊鎯屽▎鎾寸厱闁哄洢鍔岄悘鐘电磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� | 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌ら崫銉︽毄濞寸姵姘ㄧ槐鎾诲磼濞嗘帒鍘$紓渚囧櫘閸ㄨ泛鐣峰┑鍠棃宕橀妸銉т喊闂備礁鎼崯顐︽偋婵犲洤纾瑰┑鐘崇閻撱垺淇婇娆掝劅婵″弶鎮傞弻锝嗘償椤旂厧绫嶅┑顔硷龚濞咃絿鍒掑▎鎾崇閹兼番鍨虹€氭娊姊绘担铏广€婇柡鍛洴瀹曨垶寮堕幋顓炴闂佸綊妫跨粈渚€宕橀埀顒€顪冮妶鍡樺暗闁哥姵鎹囧畷銏ゎ敂閸涱垳鐦堥梺姹囧灲濞佳勭濠婂牊鐓熼煫鍥ㄦ⒒缁犵偟鈧娲樼换鍌烇綖濠靛鍤嬮柣銏ゆ涧楠炴劙姊绘担鍛靛綊寮甸鍕┾偓鍐川椤旂虎娲搁梺璺ㄥ櫐閹凤拷]

    • UEFI编程实践
      • 作者:罗冰|责编:孙海亮
      • 出版社:机械工业
      • ISBN:9787111688853
      • 出版日期:2021/08/01
      • 页数:377
    • 售价:47.6
  • 内容大纲

        本书系统地介绍了X86、龙芯、飞腾架构下的UEFl应用和驱动开发,系统调试专家、《软件调试》作者张银奎,以及UEFI专家、《UEFI原理与编程》作者戴正华联袂推荐。
        本书以项目开发为导向,采取“近实战,多实例”的方式,细致深入地介绍了UEFl应用和驱动开发相关的知识。
        第1~3章,介绍了UEFI系统的组成、启动过程,在各种操作系统中搭建和调试开发环境的方法,以及UEFI应用和驱动开发的基本方法。
        第4~10章以实际的开发实践为索引,介绍了图形图像开发、汉字显示、GUI构建、访问PCI/PCIE设备、访问SMBus设备、访问串口设备、实现USB通信和网络通信等内容。这部分以贴近实际开发的方式来构建实例,并深入剖析相关硬件协议及其在UEFI上的实现。
        第11章和第12章,讲解了龙芯和飞腾架构,以及如何在这两类国产处理器上进行UEFI软件开发。
  • 作者介绍

        罗冰     物理隔离安全领域专家,主导开发过网络隔离卡、双网隔离机、国产隔离系统、单向光传输系统等各类安全产品,拥有十几项发明和实用新型专利。     致力于UEFI技术的研究、实践,以及相关产品的开发,在CSDN和知乎上设有“UEFI开发探索”专栏。译著有《现代X86汇编语言程序设计》《21世纪机器人》,目前就职于国内某网络安全公司,担任总工程师。
  • 目录

    序一
    序二
    前言
    第1章  UEFI的世界
      1.1  Legacy BIOS
        1.1.1  Legacy BIOS的启动过程
        1.1.2  Legacy BIOS的不足之处
      1.2  UEFI BIOS
        1.2.1  UEFI标准概述
        1.2.2  UEFI BIOS的优点
        1.2.3  UEFI BIOS的启动过程
        1.2.4  国产计算机与UEFI
      1.3  本章小结
    第2章  UEFI开发和调试环境搭建
      2.1  搭建Windows下的UEFI开发环境
        2.1.1  安装开发工具
        2.1.2  配置开发环境
        2.1.3  编译UEFI模拟器和UEFI程序
        2.1.4  使用模拟器运行UEFI程序
      2.2  Windows下调试UEFI程序
        2.2.1  使用Visual Studio调试UEFI程序
        2.2.2  使用WINDBG调试UEFI程序
      2.3  搭建Linux下的UEFI开发环境
        2.3.1  安装开发工具
        2.3.2  配置开发环境
        2.3.3  编译UEFI模拟器和UEFI程序
        2.3.4  使用模拟器运行UEFI程序
      2.4  Linux下调试UEFI程序
        2.4.1  使用GDB调试UEFI程序
        2.4.2  使用Intel UDK Debugger Tool和GDB调试UEFI程序
      2.5  制作UEFI启动盘
      2.6  本章小结
    第3章  构建UEFI应用
      3.1  模块和包概述
      3.2  搭建UEFI工程模块
        3.2.1  DSC文件
        3.2.2  INF文件
        3.2.3  3种入口函数的UEFI应用
        3.2.4  库模块的编写
        3.2.5  其他工程文件
      3.3  搭建UEFI包
        3.3.1  包的DSC和DEC文件
        3.3.2  添加并编译模块
      3.4  用C++编写UEFI应用
        3.4.1  支持基础功能
        3.4.2  支持全局类
      3.5  使用UEFI Protocol
        3.5.1  Protocol概述
        3.5.2  支持使用Protocol的函数
        3.5.3  使用Protocol示例

      3.6  本章小结
    第4章  图形与汉字显示
      4.1  UEFI图形显示
        4.1.1  图形显示的Protocol
        4.1.2  图形显示基本函数的实现
      4.2  UEFI汉字显示—写像素点的方式
        4.2.1  点阵字的显示与字库提取
        4.2.2  写像素点的汉字显示
      4.3  UEFI汉字显示—HII方式
        4.3.1  HII字体与字库提取
        4.3.2  HII汉字显示
        4.3.3  HII字符串
      4.4  本章小结
    第5章  图像显示及特效
      5.1  UEFI图像显示—写屏方式
        5.1.1  BMP图像显示
        5.1.2  PCX图像显示
        5.1.3  JPEG图像显示
      5.2  UEFI图像显示—HII方式
        5.2.1  图像处理Protocol
        5.2.2  HII图像显示
      5.3  图像显示的特效
        5.3.1  图像块处理基本函数的实现
        5.3.2  颜色变换特效
        5.3.3  镜像显示
        5.3.4  图像块显示与清屏
      5.4  本章小结
    第6章  GUI开发与移植
      6.1  支持GUI的基础服务
        6.1.1  UEFI事件处理
        6.1.2  UEFI键盘处理
        6.1.3  UEFI鼠标处理
        6.1.4  构建GUI框架
      6.2  开源GUI框架
        6.2.1  GuiLite介绍
        6.2.2  使用GuiLite编程
      6.3  GUI框架的移植
      6.4  本章小结
    第7章  UEFI环境下访问外设
      7.1  访问PCI/PCIE设备
        7.1.1  与PCI/PCIE设备通信的机制
        7.1.2  支持访问PCI/PCIE设备的Protocol
        7.1.3  访问PCI/PCIE设备示例
      7.2  访问SMBus设备
        7.2.1  SMBus协议简介
        7.2.2  支持访问SMBus设备的Protocol
        7.2.3  访问SMBus设备示例
      7.3  访问串口设备
        7.3.1  串口协议简介
        7.3.2  支持访问串口设备的Protocol

        7.3.3  访问串口设备示例
      7.4  本章小结
    第8章  UEFI驱动与Option ROM
      8.1  服务型驱动
        8.1.1  安装与卸载Protocol
        8.1.2  构建服务型驱动
        8.1.3  访问示例Protocol
      8.2  UEFI驱动模型
        8.2.1  EFI Driver Binding Protocol
        8.2.2  EFI Component Name Protocol
        8.2.3  完成驱动框架及其测试
        8.2.4  构建UEFI驱动及其测试程序
        8.2.5  测试UEFI驱动
      8.3  编写Option ROM
        8.3.1  PCI Option ROM简介
        8.3.2  编写UEFI Option ROM
        8.3.3  编译及测试Option ROM
      8.4  本章小结
    第9章  UEFI与USB
      9.1  USB规范简介
        9.1.1  USB通信原理
        9.1.2  USB描述符
        9.1.3  USB标准命令
        9.1.4  USB HID设备
      9.2  支持USB访问的Protocol
        9.2.1  EFI_USB2_HC_PROTOCOL
        9.2.2  EFI_USB_IO_PROTOCOL
        9.2.3  列举USB控制器和设备
      9.3  访问USB HID设备
        9.3.1  制作USB HID设备
        9.3.2  在UEFI下访问USB HID设备
      9.4  本章小结
    第10章  UEFI与网络
      10.1  准备UEFI网络测试环境
        10.1.1  搭建Nt32模拟器的网络环境
        10.1.2  在真实UEFI环境下使用网络
        10.1.3  在虚拟机UEFI环境下使用网络:VirtualBox
        10.1.4  在虚拟机UEFI环境下使用网络:QEMU
        10.1.5  IPv6网络测试环境搭建
      10.2  使用UEFI Protocol开发网络程序
        10.2.1  开发Windows的TCP4服务端程序
        10.2.2  开发UEFI的TCP4客户端程序
      10.3  使用StdLib的Socket接口开发网络程序
        10.3.1  使用Socket编写UEFI TCP4客户端程序
        10.3.2  开发Windows的TCP6服务端程序
        10.3.3  使用Socket编写UEFI TCP6客户端程序
      10.4  本章小结
    第11章  龙芯平台上开发UEFI程序
      11.1  龙芯平台概述
        11.1.1  龙芯产品介绍

        11.1.2  3A4000的CPU架构简介
      11.2  龙芯汇编语言
        11.2.1  安装Linux Lab
        11.2.2  龙芯汇编语言实验
      11.3  龙芯平台UEFI开发环境
        11.3.1  搭建龙芯平台UEFI开发环境
        11.3.2  编译示例工程
      11.4  本章小结
    第12章  飞腾平台上开发UEFI程序
      12.1  飞腾平台概述
        12.1.1  飞腾产品介绍
        12.1.2  FT-2000/4的CPU架构简介
      12.2  搭建飞腾平台UEFI开发环境
        12.2.1  准备EDK2环境
        12.2.2  使用Linux系统与gcc-arm
        12.2.3  使用Linux系统与Linaro UEFI工具
      12.3  飞腾平台的UEFI程序测试
        12.3.1  Windows系统下的UEFI测试环境
        12.3.2  Linux系统下的UEFI测试环境
        12.3.3  测试示例工程
      12.4  本章小结
    附录  UEFI Shell内置命令