Отладка кода BIOS/UEFI.

Всем привет. Существуют ли какие-нибудь методы отладки кода BIOS/UEFI посредством эмуляции? Как разработчики тестируют код? Возможно, через эмуляторы, имеется некий фреймворк... Просветите по данной теме, пожалуйста.

P.S. Меня интересует именно отладка, а не дизассемблирование кода.


Перенес в EFI.
maco

Реализация своя,но она на 95% совместима и основана на предложенном ещё Intel`ом открытом EDK.
Стандарт он тем и хорош, что не зависит от реализации...

--
With Best Wishes, A. Woland

"я вам не скажу за всю Одессу" (С)

Цитата:
Как разработчики тестируют код? Возможно, через эмуляторы....

ето смотря какой код ... аппаратно зависимый кад или архитектурные прибамбасики "две большие разницы" (С)

и какой эмулятор/фреймворк сможет угнаться за лавиной AMI/Intel чипсетов

Цитата:
... на 95% совместима и основана ...

такто оно так, да "дьявол в деталях" (С), те самые 5%

вопрос в том , что каждый понимает под словом "БИОС/UEFI", красивый фантик - который уже можно и эмулировать, или код "оживляющий" мертвое железо ;)

вам модули и закладки рисовать или железо оживлять ???

... иди туда, незнаю куда, возьми то, не знаю что ... (C) Русские народные сказки

Цитата:
Есть такая штука как DUET. Еще есть эмуляция на основе win32 API. Все это еще со времен EDK1. В EDK2 появилась эмуляция окружения EFI на Unix.

1. Проверяешь, что на компьютере в качестве BIOS стоит EFI v.2.3.1 или выше.
2. Покупаешь дешёвую USB-флешку
3. Открываешь пакет \DuetPkg, читаешь файл README. Делаешь всё то, что в README написано --> ( Перепрошиваешь флешку)


4. Компилишь свою UEFI программу или UEFI драйвер. (***.efi)
5. Вставляешь флешку и грузишься с неё.
6. Поднимается UEFI Shell. Читаешь ман по шеллу, с помощью команды cd, ls можно перейти в нужную директорию на USB-флешке, где хранится фалй ***.efi.
7. Грузишь ***.efi (для драйверов есть команда load)
8. Profit!!

Замечание:
Duet не поднимает UEFI (SEC, PEI, DXE) он всего лишь получает управление уже от поднятого UEFI и грузит флешку. Таким образом, если на вашем компе нет UEFI, то Duet не годится.

Замечание 2:
Есть замечательные команды ASSERT и Print для отладки. Если вы хотите "пошаговую" отладку, как в базуке-VS, UEfi SHell вам не помощник.

Актуальный вопрос.
Сейчас сижу пишу биос под Интел Атом Е6хх.
Отвечаю:
1. Пишешь код крутишь исполнение в голове (алгоритмы в общем не очень сложные)
2. Ставишь кучу посткодов
3. Заливаешь на железную плату с Атомом на борту
4. Смотришь на каком посткоде завалилось
5. Уточняешь место, ставишь больше посткодов, правишь, правишь, правишь
6. Повтори с пункта 1
7. ???
8. Профит Рабочая система.

В общем очень, топорно и медленно.

"Сейчас сижу пишу биос под Интел Атом Е6хх."

скажу вам честно VeterNeba вы ... маньяк !!!

(контроллер)память уже инициализировали ?
видеобиос инициализировали ?
HDD (только AHCI:( )уже инициализировали ?
надеюсь вам не нужены ACPI таблицы ?
надеюсь вам не нужен S3 ?

вы спрашивали гдето про "..._BiosWritersGuide_ ..." так он "оранжевый" :(
а биосы пишут с "красными книгами" ... с "оранжевыми" работающие биосы только правят(посткод/посткод/посткод/посткод) под свое железо:(

както так:(

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей