UEFI应用与编程--ReadCmos

本文详细探讨了UEFI环境下的CMOS读取操作,通过实例代码CmosRead.c,展示了如何在EDK2或UDK框架中进行BIOS配置存储的访问。了解这一过程对于理解UEFI系统底层运作至关重要。
摘要由CSDN通过智能技术生成

CmosRead.c

#include <Uefi.h>  
#include <Library/UefiLib.h>
#include <Library/ShellCEntryLib.h>  
#include <Library/IoLib.h> 

#define CMOS_INDEX    0x70
#define CMOS_DATA     0x71

INTN
EFIAPI
ShellAppMain (
  IN UINTN Argc,
  IN CHAR16 **Argv
  ) 
{ 
  UINT8 Value = 0;
  UINT8 Index = 0xFF;
  
  while (Index) {
    IoWrite8 (CMOS_INDEX, 0xFF - Index);
    Value = IoRead8 (CMOS_DATA);
    Print (L"%02x ", Value);
    if ((0xFF - Index + 1) % 0x10 == 0)
      Print (L"\n");
    Index--;
  }
  IoWrite8 (CMOS_INDEX, 0xFF);
  Print (L"%02x\n", IoRead8 (CMOS_DATA));
  

  return EFI_SUCCESS;
	
} 

CmosRead.inf

[Defines]  
  INF_VERSION             = 0x00010005  
  BASE_NAME               = CmosPrint  
  FILE_GUID               = dc72d2c7-a48a-42fd-80b6-9d229d9943c8  
  MODULE_TYPE       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值