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

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


Перенес в EFI.
maco
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Реализация своя,но она на 95% совместима и основана на предложенном ещё Intel`ом открытом EDK.
Стандарт он тем и хорош, что не зависит от реализации...

bios71

12 лет 12 месяцев назад

"я вам не скажу за всю Одессу" (С)
Как разработчики тестируют код? Возможно, через эмуляторы....

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

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

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

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

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

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

PavelMSTU

12 лет 10 месяцев назад

Есть такая штука как 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 вам не помощник.

VeterNeba

11 лет 10 месяцев назад

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

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

bios71-kva (не проверено)

11 лет 10 месяцев назад

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

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

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

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

както так :(