Bullseye用于基于EDK的应用程序 [英] Bullseye for EDK Based Application

查看:106
本文介绍了Bullseye用于基于EDK的应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么方法可以将基于EDK2的应用程序集成到Bulls Eye Code Coverage工具中?该可执行文件将具有.efi扩展名,并且仅在EFI Shell中打开。我相信,我还需要开发一个驱动程序以将coverage数据捕获到外部磁盘中进行分析,因为该应用程序仅在EFI Shell(BIOS)中有效。

Is there any way to integrate EDK2 based application to come into Bulls Eye Code Coverage tool? The executable will be having .efi extension, and it open's only in EFI shell. I believe, i also need to develop an driver to capture the coverage data into external disk for analysis, as the application will be valid only in the EFI Shell(BIOS).

那么,对于整个EFI应用程序,有人对如何实现有任何想法吗?

So, does anyone have any idea, on how it can be done, for overall EFI Applications?

谢谢,
Pramod

Thanks, Pramod

推荐答案

这些是我采取的步骤将Bullseye集成到EDK2中(按照网站上的说明安装Bullseye之后):

These are the steps I took to integrate Bullseye into EDK2 (after installing Bullseye following the instruction on the website):


  1. 使用/ run / libcov-printf .c并将 printf替换为 AsciiPrint。

  2. 将/ run /中的所有文件复制到您的EDK $ WORKSPACE

  3. 创建库.inf文件并将libcov-printf.c添加到其[源]部分

  4. 将库实例添加到平台.dsc文件(可能是MdeModulePkg.dsc)

  5. 在[LibraryClass]下添加对应用程序.inf文件的库引用

  6. 在应用程序源代码中(通常在其退出点)添加cov_dumpData()。

  7. 使用EDK2构建进行编译

  1. Use the /run/libcov-printf.c and replace the "printf" with "AsciiPrint".
  2. Copy all the files from /run/ to your EDK $WORKSPACE
  3. Create library .inf file and add libcov-printf.c to its [Source] section
  4. Add library instance to your platform .dsc file (MdeModulePkg.dsc probably)
  5. Add library reference to your application .inf file under [LibraryClass]
  6. Add cov_dumpData() in your application source code (usually at its exit point).
  7. compile using EDK2 build

您最终将获得一个efi二进制文件,可以在目标计算机上运行该文件并获取它一旦应用程序到达其退出点,就进行测量。
可以将输出数据重定向到文件(使用EDK2 shell中的>指令),然后由covpost处理,以合并到在构建过程中创建的cov文件中。

You'll end up with an efi binary that you can run on your target and get the measurements once the application reaches its exit point. The output data can be redirected to a file (using the > directive inside EDK2 shell) and then be processed by covpost to be merged into the cov file created in the build process.

这篇关于Bullseye用于基于EDK的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆