调用Uefi第一个驱动--hello world
2015-01-05 09:40
309 查看
前面写了一个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
-----------------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
相关文章推荐
- Linux 设备驱动的第一个例子:Hello World
- 第一个hello world 驱动实验总结
- Linux驱动开发学习 第一个驱动程序 hello world
- 我的第一个Linux驱动hello world问题记录
- Linux 设备驱动的第一个例子:Hello World
- ubuntu下我的第一个Hello World驱动
- linux内核模块编程----ubuntu下我的第一个Hello World驱动
- 内核驱动的第一个程序——hello world
- 参照官方资料 写beaglebone black 第一个驱动 hello world
- Linux 设备驱动的第一个例子:Hello World
- 驱动开发(第一个程序Hello World)
- Linux设备驱动的第一个例子:Hello World
- 【从零开始,从内核驱动驱动到用户空间调用】编写第一个linux驱动,通过端口访问I/O寄存器。
- 第一个Uefi驱动--helloworld
- Linux 设备驱动的第一个例子:Hello World
- OK6410学习之第一个驱动hello world
- linux驱动学习(2)-第一个驱动程序hello world
- 第一个模块,hello world 驱动编写
- Linux第一个驱动:Hello World
- 【从零开始,从内核驱动驱动到用户空间调用】编写第一个linux驱动,通过端口访问I/O寄存器。