UEFI应用与编程
文章平均质量分 64
qyqcs
这个作者很懒,什么都没留下…
展开
-
UEFI应用与编程--解析命令行参数
Cmd.c/* * Cmd.c * * Created on: 2017年11月29日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <stdio.h>#include <getopt.c>...原创 2018-03-09 10:29:03 · 1559 阅读 · 0 评论 -
UEFI应用与编程--EFI_DISK_INFO_PROTOCOL
DiskList.c#include #include #include #include "UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h"////// ATA_IDENTIFY_DATA strictly complies with ATA/ATAPI-8 Spec/// to define the data r原创 2018-03-09 13:41:09 · 1485 阅读 · 0 评论 -
UEFI应用与编程--ReadCmos
CmosRead.c#include #include #include #include #define CMOS_INDEX 0x70#define CMOS_DATA 0x71INTNEFIAPIShellAppMain ( IN UINTN Argc, IN CHAR16 **Argv ) { UINT8 Value =原创 2018-03-09 14:02:49 · 2581 阅读 · 0 评论 -
UEFI应用与编程--WriteCmos
CmosWrite.c#include #include #include #include #include #include #define CMOS_INDEX 0x70#define CMOS_DATA 0x71STATIC CONST SHELL_PARAM_ITEM ParamList[] = { {NULL, TypeMax}原创 2018-03-09 14:05:31 · 1589 阅读 · 0 评论 -
UEFI应用与编程--EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
FileIo.c/* * FileIo.c * * Created on: 2017年10月27日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Protocol/SimpleFileSystem.h>...原创 2018-03-09 14:12:48 · 2310 阅读 · 0 评论 -
UEFI应用与编程--Handle&EFI_DEVICE_PATH_TO_TEXT_PROTOCOL
HandleList.c#include #include #include #include #include #include INTNEFIAPIShellAppMain ( IN UINTN Argc, IN CHAR16 **Argv ) { EFI_HANDLE *HandleBuffer; UI原创 2018-03-09 14:29:43 · 1237 阅读 · 0 评论 -
UEFI应用与编程--显示文件信息
Mm.c#include <Library/ShellLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/HiiLib.h>#include <Protocol/SimpleFileSystem.h>#include <Library/BaseLib...原创 2018-03-13 10:56:06 · 733 阅读 · 0 评论 -
UEFI应用与编程--SMM(一)
章节13系统管理这一章主要描述IA32体系结构的两个方面,一个是被用来做管理系统资源的系统管理模式(SMM),另一个是热量监视设施。SMM提供了一个交替的操作环境可以用来监视和管理多种系统资源,被用于有效能的使用,管理硬件,或运行专有代码。关于硬件支持SMM的更多细节描述,可以参看每种IA32处理器的开发手册。热量监视设施开启了监视和控制IA32处理器核心温度的功能。13.1系统管理模式...翻译 2018-07-05 12:55:45 · 4120 阅读 · 0 评论 -
UEFI应用与编程--Dump ALC662 Verb Table
ShowVerbTb.c/* * ShowVerbTb.c * * Created on: 2017年10月27日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Protocol/SimpleFileSy...原创 2018-09-11 15:44:08 · 2097 阅读 · 3 评论 -
UEFI应用与编程--X64下添加int3调试中断
Kbc.c/* * Kbc.c * * Created on: 2017年9月30日 * Author: red */#include <Library/UefiLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/SerialPortLib.h>...原创 2018-09-13 17:25:22 · 1243 阅读 · 0 评论 -
UEFI应用与编程--EFI_GRAPHICS_OUTPUT_PROTOCOL
SetMode.c/* * SetMode.c * * Created on: 2018年3月15日 * Author: */#include <Protocol/GraphicsOutput.h>#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>...原创 2018-09-13 18:37:59 · 2213 阅读 · 0 评论 -
UEFI应用与编程--SMM(二)
13.4.2 SMRAM缓存在进入SMM之前或者在退出SMM之前,IA-32处理器不会自动的回写(write back)或着使它的缓存失效。因为这行为,必须小心谨慎系统内存中的SMRAM和SMRAM的缓存,以防止缓存不一致当在SMM和受保护模式操作之间来回切换时。下面三个定位SMRAM在系统内存中的位置中的任意两个将会保证缓存一致性:1.把SMRAM放入到系统内存的专有段中,操作系统和应用程序...翻译 2018-09-25 10:48:07 · 1684 阅读 · 0 评论 -
UEFI应用与编程--AcpiTable
AcpiTable.c/* * AcpiTable.c * * Created on: 2017年9月20日 * Author: */#include <Uefi.h>#include <Library/UefiLib.h>#include <IndustryStandard/Acpi10.h>#include <Prot...原创 2018-03-09 10:03:25 · 2680 阅读 · 0 评论 -
UEFI应用与编程--GetNextVariableName
#include <Library/MemoryAllocationLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/ShellLib.h>#include <Library/UefiRuntimeServicesTableLib.h>#include &...原创 2018-03-29 16:39:25 · 1404 阅读 · 0 评论 -
UEFI应用与编程--EFI_USB2_HC_PROTOCOL
/* * Usb.c * * Created on: 2017年10月11日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Protocol/Usb2HostController.h>#include ...原创 2018-03-29 16:39:47 · 953 阅读 · 0 评论 -
UEFI应用与编程--HelloWorld(01)
如何写一个UEFI Shell环境下的一个小应用:一,准备安装所需的工具1.下载EDK II,这里以UDK2015为例。https://github.com/tianocore/edk2/tree/UDK20152.安装Visual Stdio,这里以VS2012 Express为例。3.安装TortoiseSVN, 这里以TortoiseSVN_1.9.4.27285原创 2017-12-25 15:52:52 · 6326 阅读 · 8 评论 -
UEFI应用与编程--HelloWorld(02)
如何写一个UEFI Shell环境下的一个小应用三,究竟如何写呢 答案是不用写了,UDK里面已经帮我们写好了,只要编译对应的module就可以了,呵呵。Edk2Setup.bat --nt32 X64build -p AppPkg\AppPkg.dsc -m AppPkg\Applications\Hello\Hello.inf -a X64 build -p MdeMod原创 2017-12-29 18:14:49 · 4159 阅读 · 0 评论 -
UEFI应用与编程--HelloWorld(03)
如何写一个UEFI Shell环境下的一个小应用四,创建自己的包 其实也很简单,新建一只“MyPkg”的文件夹,然后把下面的两只文件加入文件夹就可以了,一个完整的Pkg就算建好了。最后就是建立一个“Application”文件夹,把之前的三个“HelloWorld”加入“Application”文件夹即可。另外需要注意的是还需要做一些相应的改动。具体可以参考《UEFI原理与编程》这本书,原创 2018-01-16 15:32:17 · 4373 阅读 · 0 评论 -
UEFI应用与编程--BootOrder
BootOrder.c/* * BootOrder.c * * Created on: 2018年3月14日 * Author: */#include <Uefi.h>#include <Library/UefiRuntimeServicesTableLib.h>#include <Library/UefiLib.h>#in...原创 2018-03-15 10:42:39 · 3014 阅读 · 0 评论 -
UEFI应用与编程--EFI_SMBUS_HC_PROTOCOL
SmBus.c/* * SmBus.c * * Created on: 2017年12月7日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Protocol/SmbusHc.h>#include <...原创 2018-03-15 10:47:38 · 1850 阅读 · 1 评论 -
UEFI应用与编程--ReadSpd
SpdRead.c/* * SpdRead.c * * Created on: 2017年11月17日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/IoLib.h>#include &...原创 2018-03-15 10:59:01 · 3341 阅读 · 4 评论 -
UEFI应用与编程--EFI_SMBIOS_PROTOCOL
SmbiosUpdate.c/* * SmbiosUpdate.c * * Created on: 2018年3月2日 * Author: */#include <Uefi.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/UefiLib.h>...原创 2018-03-15 12:28:25 · 2182 阅读 · 0 评论 -
UEFI应用与编程--SmBios
SmBiosList.c#include <Uefi.h> #include <Library/UefiLib.h>#include <Library/ShellCEntryLib.h>#include <IndustryStandard/SmBios.h>#include "UefiShellDebug1CommandsLib/UefiS...原创 2018-03-15 12:33:38 · 2863 阅读 · 0 评论 -
UEFI应用与编程--ShowBootDevice
#include <Protocol/DevicePathToText.h>#include <Library/UefiRuntimeServicesTableLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/BaseLib.h>#include <...原创 2018-03-15 12:42:36 · 1550 阅读 · 0 评论 -
UEFI应用与编程--CpuId&Msr
CpuId.c#include <Library/BaseLib.h>#include <Uefi.h>#include <Library/UefiLib.h>VOIDPrintCpuName ( ){ UINT32 Eax; UINT32 Ebx; UINT32 Ecx; UINT32 Edx; CHAR8 Strin...原创 2018-03-15 12:47:52 · 2192 阅读 · 0 评论 -
UEFI应用与编程--IndexIo
#include <Library/IoLib.h> #include "UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h"VOIDMmIndexIoWrite ( IN UINT64 Address, IN UINT64 Value){ UINT64 IndexPort; UINT64 DataP...原创 2018-03-15 12:52:15 · 517 阅读 · 0 评论 -
UEFI应用与编程--8042 Kbc
#include <Uefi.h> #include <Library/UefiLib.h>#include <Library/IoLib.h>#include <Library/UefiBootServicesTableLib.h>#define KBC_DATA_PORT 0x60#define KBC_CMD_PORT ...原创 2018-03-15 12:57:42 · 1002 阅读 · 0 评论 -
UEFI应用与编程--读写Pci配置空间
#include <Protocol/PciRootBridgeIo.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/UefiLib.h>#include "UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h"#i...原创 2018-03-15 13:01:23 · 6183 阅读 · 2 评论 -
UEFI应用与编程--ReadAudioTool
ReadAudioTool.c/* * ReadAudioTool.c * * Created on: 2017年9月30日 * Author: */#include <Library/UefiLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/S...原创 2018-09-14 19:24:47 · 1719 阅读 · 0 评论