Яблочко для применения на основе EDK

Есть ли способ интегрировать приложение на базе EDK2 в инструмент Bulls Eye Code Coverage? Исполняемый файл будет иметь расширение.efi и открывается только в оболочке EFI. Я считаю, что мне также нужно разработать драйвер для записи данных покрытия на внешний диск для анализа, поскольку приложение будет действовать только в EFI Shell(BIOS).

Итак, есть ли у кого-нибудь представление о том, как это можно сделать, для общих приложений EFI?

Спасибо, прамод

2 ответа

Вот шаги, которые я предпринял для интеграции Bullseye в EDK2 (после установки Bullseye, следуя инструкциям на сайте):

  1. Используйте /run/libcov-printf.c и замените "printf" на "AsciiPrint".
  2. Скопируйте все файлы из / run / в ваш EDK $WORKSPACE
  3. Создайте библиотечный.inf-файл и добавьте libcov-printf.c в его раздел [Source]
  4. Добавьте экземпляр библиотеки в файл платформы.dsc (вероятно, MdeModulePkg.dsc)
  5. Добавьте ссылку на библиотеку в INF-файл вашего приложения в [LibraryClass]
  6. Добавьте cov_dumpData() в исходный код вашего приложения (обычно в точке его выхода).
  7. компиляция с использованием сборки EDK2

В итоге вы получите двоичный файл efi, который сможете запустить на своей цели и получить результаты измерений, как только приложение достигнет своей точки выхода. Выходные данные могут быть перенаправлены в файл (с помощью директивы> внутри оболочки EDK2), а затем обработаны covpost для объединения в файл cov, созданный в процессе сборки.

Ну, я не знаю, как работает EFI. Однако покрытие "яблочко" поддерживает настройку. Когда я работал для встроенной системы. Я создал функции открытия / чтения / записи, чтобы записывать данные покрытия не в файл, а в последовательный кабель, и я создал хост-приложение для интерпретации данных, отправляемых из последовательного кабеля, и сохранения их в файле cov. Я не уверен, хорошо ли это работает в вашем случае. Однако вы можете начать со следующей ссылки. http://www.bullseye.com/help/env-embedded.html

Другие вопросы по тегам