UEFI学习问题记录(三)

文章介绍了如何在VS2019环境下搭建UEFI的X86平台调试环境,包括使用EDK2,创建工程,配置项目设置,解决头文件找不到的问题,以及如何设置断点进行源码级调试。过程中特别提到了《UEFI编程实践》一书中的方法,并给出了详细步骤。
摘要由CSDN通过智能技术生成

最近有项目需求,需要做一个ARM和X86平台上的UEFI测试程序,编写程序就需要调试环境进行源码级调试,但是网上很多资料只讲了UEFI的环境搭建,以及在命令行下怎么编译和运行efi文件,具体怎么进行debug说的不多,我也走过了很多坑,才堪堪把X86调试环境运行起来,ARM平台现在也没有搞起来,有时间再研究,现在记录一下X86的搭建过程。

1,调试环境:VS2019+EDK2,其安装过程在网上都有,前面两篇文章也有写过,不再赘述。

2,怎样启动调试环境?

这里要推荐一下《UEFI编程实践》作者罗冰的方法,链接如下:

(13条消息) UEFI开发探索53 – VS2015调试UEFI代码(续第27篇)_vs 查看uefi代码_luobing4365的博客-CSDN博客

大体方法是一样的,但是博客里用的是VS2015+NT32Pkg,这里使用VS2019+EmulatorPkg。

下面说一下不同:

1,建立工程

按照参考博客的方法,VS2015要建立makefile工程,但是VS2019没有makefile工程,需要选择如图这一项。

然后在配置项全填上11111,如图,这一点和参考一致

我这边是使用MdeModulePkg\Application\HelloWorld文件下的程序做测试,所以工程建立在该文件夹下,然后修改工程文件,改后如下

2,修改项目配置

要将如下红框中配置改成一致,并且命令和工作目录要修改为图中的路径(按照自己安装的路径设置)

这样修改完,直接运行也是运行不过去的,会出现XXX.h文件找不到的情况,其原因在于源文件使用的标准文件搜索方式<>,必须将路径也加入进搜索目录,如图所示:

然后在源文件中打断点,F5运行,

在fs0下运行helloworld.efi,就可以执行到断点出,如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值