Интересует как тестируют bios после его написания. Имею ввиду может есть что то наподобии эмуляторов материнских плат. Или же все это тестируется сразу же на реальных материнках.
Не уверен, но может быть мы говорим о разных вещах? Я имею ввиду отладку при наличии исходных текстов БИОСа. В этом случае работать с дизассемблерным листингом не совсем удобно, хотя можно как вариант (сделать ассемблерные вставки в интересующем месте, например "nop" 10 раз). Кстати, при работе с ITP сначала высвечивается дизассемблерный код, но потом можно дать команду loadthis и загрузится исходный текст из проекта. Вот про что-то вроде такого я и спрашивал.
Кстати, при работе с ITP сначала высвечивается дизассемблерный код, но потом можно дать команду loadthis и загрузится исходный текст из проекта
Загрузка исходного текста - это только видимая часть айсберга.
Дополнительно грузится debug-информация, связывающая каждую строку исходного текста с соответствующим фрагментом исполняемого кода. Эта debug-информация формируется компилятором. Ее структура зависит от применяемого компилятора.
ITP знает об этой структуре всё, эмулятор пока не знает о ней ничего.
ТоварищЪ, расскажите, пожалуйста, какую задачу Вы решаете? О каком конкретно биосе идет речь? Для какого компьютера? У Вас есть исходные тексты и Вы имеете возможность компилировать и прошивать новую версию биоса?
Очень многое для BIOS можно успешно отладить в сенсе ОС. Свои первые версии именно так и разрабатывались. Без эмулятора. С ним - легче, хотя вопросы остаются...
ITP знает об этой структуре всё, эмулятор пока не знает о ней ничего.
Всё-таки фраза "эмулятор _пока_ не знает о ней ничего" вселяет надежду о будущей реализации
От подробностей воздержусь пока.
icbook писал(-а):
Очень многое для BIOS можно успешно отладить в сенсе ОС. Свои первые версии именно так и разрабатывались. Без эмулятора. С ним - легче, хотя вопросы остаются...
Какие именно подробности интересуют? Я свободные показания давать не планирую. Вопрос - ответ.
Вопросы:
Как Вы отлаживаете многое для БИОС в сенсе ОС (пользуетесь какими-то отладчиками)?
Чтобы протестировать БИОС на материнской плате, чем Вы перепрошиваете флеш?
Вообще интересно услышать ответы всех здешних профессианалов!
Как Вы отлаживаете многое для БИОС в сенсе ОС (пользуетесь какими-то отладчиками)?
Код для ОС/BIOS компилируется с использованием директивы ifdef. Так, если выполнение в ОС, то вместо скажем записи в порт 0CFCh выполняется запись в порт 80h. А если планируется выполнение BIOS, то, естественно, - в порт 0CFCh.
Из отладчиков для фрагментарных работ используется Turbo Debugger, Version 2.51, Borland.
ТоварищЪ писал(-а):
Чтобы протестировать БИОС на материнской плате, чем Вы перепрошиваете флеш?
На рабочем столе инженера - инструментальный компьютер, к которому подключен программатор Labtool-48, и тестовая платформа. В даный момент SY-5TF2. Достоточно быстро можно написать и отладить достаточно большой объем ассемблерного кода. Если не забуду камеру, то завтра сделаю фото.
На рабочем столе инженера - инструментальный компьютер, к которому подключен программатор Labtool-48, и тестовая платформа. В даный момент SY-5TF2. Достоточно быстро можно написать и отладить достаточно большой объем ассемблерного кода. Если не забуду камеру, то завтра сделаю фото.
Спасибо за ответы, интересно. А что Labtool-48 подключен прямо в плату и не надо вытаскивать флеш?
Спрашиваю потому что интересно как работают думающие люди,
а мы работаем так:
Когда не работает recovery (так бывает когда намудришь с памятью), приходиться идти на программатор (он у нас один) это очень не удобно т.к. повторяется это много раз.
Хочу попробовать ethernetboot для загрузки БИОСа прямо в память (прочитал об этом где-то в форуме). Если я не ошибаюсь , то БИОС на ethernet карточке стартует до выполнения БИОСа на материнке, тогда можно загрузить новый ROM в память и выполнить. Вы так не пробовали, или что-нибудь тут не правильно?
??? а что можно делать с открытым листингом? Подразумевается что это листинг БИОСа не эмулируемой системы. Допустим это бутблок..
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Это значит, что Вы ошибочно открыли не тот листинг
Не уверен, но может быть мы говорим о разных вещах? Я имею ввиду отладку при наличии исходных текстов БИОСа. В этом случае работать с дизассемблерным листингом не совсем удобно, хотя можно как вариант (сделать ассемблерные вставки в интересующем месте, например "nop" 10 раз). Кстати, при работе с ITP сначала высвечивается дизассемблерный код, но потом можно дать команду loadthis и загрузится исходный текст из проекта. Вот про что-то вроде такого я и спрашивал.
Загрузка исходного текста - это только видимая часть айсберга.
Дополнительно грузится debug-информация, связывающая каждую строку исходного текста с соответствующим фрагментом исполняемого кода. Эта debug-информация формируется компилятором. Ее структура зависит от применяемого компилятора.
ITP знает об этой структуре всё, эмулятор пока не знает о ней ничего.
ТоварищЪ, расскажите, пожалуйста, какую задачу Вы решаете? О каком конкретно биосе идет речь? Для какого компьютера? У Вас есть исходные тексты и Вы имеете возможность компилировать и прошивать новую версию биоса?
Очень многое для BIOS можно успешно отладить в сенсе ОС. Свои первые версии именно так и разрабатывались. Без эмулятора. С ним - легче, хотя вопросы остаются...
Открытая книга: icbook.com.ua
Всё-таки фраза "эмулятор _пока_ не знает о ней ничего" вселяет надежду о будущей реализации
От подробностей воздержусь пока.
А по-подробнее о такой отладке можно?
Какие именно подробности интересуют? Я свободные показания давать не планирую. Вопрос - ответ.
Открытая книга: icbook.com.ua
Вопросы:
Как Вы отлаживаете многое для БИОС в сенсе ОС (пользуетесь какими-то отладчиками)?
Чтобы протестировать БИОС на материнской плате, чем Вы перепрошиваете флеш?
Вообще интересно услышать ответы всех здешних профессианалов!
Код для ОС/BIOS компилируется с использованием директивы ifdef. Так, если выполнение в ОС, то вместо скажем записи в порт 0CFCh выполняется запись в порт 80h. А если планируется выполнение BIOS, то, естественно, - в порт 0CFCh.
Из отладчиков для фрагментарных работ используется Turbo Debugger, Version 2.51, Borland.
На рабочем столе инженера - инструментальный компьютер, к которому подключен программатор Labtool-48, и тестовая платформа. В даный момент SY-5TF2. Достоточно быстро можно написать и отладить достаточно большой объем ассемблерного кода. Если не забуду камеру, то завтра сделаю фото.
Открытая книга: icbook.com.ua
Спасибо за ответы, интересно. А что Labtool-48 подключен прямо в плату и не надо вытаскивать флеш?
Спрашиваю потому что интересно как работают думающие люди,
а мы работаем так:
Когда не работает recovery (так бывает когда намудришь с памятью), приходиться идти на программатор (он у нас один) это очень не удобно т.к. повторяется это много раз.
Хочу попробовать ethernetboot для загрузки БИОСа прямо в память (прочитал об этом где-то в форуме). Если я не ошибаюсь , то БИОС на ethernet карточке стартует до выполнения БИОСа на материнке, тогда можно загрузить новый ROM в память и выполнить. Вы так не пробовали, или что-нибудь тут не правильно?
Отправить комментарий