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