uefi
文章平均质量分 76
扫地聖
make your heart ...
展开
-
UEFI中的Fd文件
uefi二进制文件fduefi 在编译最后会生成一个可以烧进rom里面的.fd文件。这个文件是根据fdf文件生成的。下面详细介绍一下fd文件中的内容都是怎么存放的。fd文件格式描述一个FD(Flash Device binary image),它就是一个二进制镜像文件,其中包含多个FV文件;一个FV(Firmware Volumes),它是FD的组成模块,每一个模块有一个特定的功能,比如FVMAIN通常包含的是DXE、BDS阶段的代码,它通常是被压缩过得,FV Recovery包含SEC和PEI阶段的原创 2021-06-21 16:37:13 · 5601 阅读 · 1 评论 -
UEFI下如何在C语言嵌入汇编
UEFI下如何在C语言内嵌入汇编有两种方法:分别是以内嵌汇编的形式和直接就是汇编的形式存在,内嵌汇编不够灵活,而且代码的可读性和维护性都比较差,强烈推荐第二种方式。内嵌汇编的形式 __asm__ __volatile__( ".set_noa...原创 2019-12-06 20:21:25 · 960 阅读 · 0 评论 -
uefi的几种文件格式(.fdf .dec .dsc .inf)
在uefi 中fdf文件和dsc文件以及dec文件还有inf文件是每一个做uefi的人最开始接触的文件,那么这些文件到底有什么作用?以及文件中每个字段的意义又是什么呢?现在就让我们一个文件一个文件的看吧!(本文的所有内容都来自于uefi de spec,如果想详细了解spec中的内容,请自己参阅spec,本文只是自己在阅读过程中将重点记录下来)首先看一下uefi中的几种名词解释:HIIH...原创 2019-05-09 11:27:08 · 7112 阅读 · 0 评论 -
uefi中Sec阶段和Pei阶段的启动分析
本文的启动分析是基于龙心3A2000+780E桥片的处理器的。首先:SEC(安全性)阶段:系统开始执行第一条指令,这时的Memory没有被初始化。主要工作是建立临时的Memory,它可以是处理器的Cache,或是systemStaticRAM(SRAM)。另外,SECPhase需要知道一些早期的内存被映射到的位置以及BFV(BootFirmwareVolume)的位置。P...原创 2019-05-09 11:24:22 · 9941 阅读 · 0 评论 -
调试uefi中Xhci总结
(1)几种USB控制器类型在UEFI中,usb相关的驱动有MdeModulePkg/Bus/Pci/XhciDxe/OhciDxe.infMdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.infMdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf...原创 2018-05-26 15:17:16 · 4942 阅读 · 4 评论 -
UEFI的编译原理
整个UEFI的开发和编译是在x86的服务器下安装centeros的系统下进行的。所需要的工具:(1)UEFI源代码,以及添加了自己平台架构下的代码,UEFI的代码可以到UEFI官网下载(2)编译工具,我们采用的是交叉编译,编译工具是使用的是龙芯平台MIPS架构的编译工具(gcc-4.4.0-pmon)安装在系统的opt目录下(3)运行二进制文件的宿主机,这里是龙芯自己的机器3a30...原创 2018-09-20 19:32:38 · 6507 阅读 · 0 评论 -
UEFI sec阶段的实现
本文的实现是在MIPS平台龙芯架构实现的,在其他平台上实现方式可能不一样,但是大体上都是相同的。首先Sec阶段是UEFI最早的一个阶段,CPU上电后从固定地址取指开始执行。每种架构的CPU上电后第一条指令的地址是不同的,龙芯的CPU上电执行的第一条指令的32位地址是0x1fc00000,用cache的64位地址来访问就是0xffffffff9fc00000的地址。这里为什么上电后就能够使用ca...原创 2018-12-21 17:06:43 · 4239 阅读 · 7 评论 -
UEFI下Variable的实现
最近在龙芯平台在调试Nvrom的存储功能,设置开机的启动项,设置开机密码等功能.这部分功能在标准的uefi中都是使用Variable这套机制实现的.熟悉uefi的人都知道Variable这套机制在uefi中使用非常的广泛.现在我们来说说Variable是如何实现的.首先:Variable在uefi的公共源码上是有相应的代码的,代码位于目录MdeModulePkg/Universal/Var...原创 2019-02-01 16:20:14 · 11337 阅读 · 2 评论 -
UEFI下的FlashOperationProtocol的实现
UEFI下的FlashOperationProtocol的实现这个驱动其实就是读写flash所需要的最底层的驱动,其操作的就是最底层的flash的芯片,flash芯片有好多中,我们这里采用的是spi协议的。每种芯片的读写函数可能不太一样,但是都是大体相同的。下面是几种flash的介绍,大家知道自己的芯片使用的是哪种就好。几种flash芯片的介绍1、IIC EEPROM------容量小,采用...原创 2019-02-02 22:10:43 · 1834 阅读 · 0 评论