调用Uefi第一个驱动--hello world

来源:互联网 发布:导师睡研究生知乎 编辑:程序博客网 时间:2024/06/01 15:45

前面写了一个hello world驱动,现在简单调用一下


-----------------testlib.c文件----------------------------


#include <uefi.h>
#include <library/uefilib.h>
#include <library/basememorylib.h>
#include <library/uefiapplicationentrypoint.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
//#include <protocol/firstdriver.h>
#include <firstdriver/firstdriver.h>

EFI_STATUS EFIAPI UefiMain(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
 EFI_STATUS                 Status = EFI_SUCCESS;

 EFI_FIRSTDRIVER_PROTOCOL   *gf;

 Status = gBS->LocateProtocol(
  &gEfifirstdriverProtocolGuid,
  NULL,
  &gf
  );

 if(EFI_SUCCESS == Status)
 {
  Print(L"success to locate protocol\n");
 }
 else
 {
  Print(L"failed to locate protocvol\n");
 }

 gf->Func1(gf);
 Print(L"ia in protocol is %d\n",gf->ia);


 return Status;
}


testlib.dsc的     [libraryclass]    块中加上

firstdriver|firstdriver/firstdriver/firstdriver.inf


-------------------testlib.inf-------------------------


[Packages]
  MdePkg/MdePkg.dec
  firstdriver/firstdriver.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib

[Protocols]
  gEfifirstdriverProtocolGuid
















0 0
原创粉丝点击