Аппаратная отладка кода BIOS
Jan. 31st, 2025 07:22 pmНаверное у многих читателей моего ЖЖ сложилось ложное представление, что я коллекционер старого железа, который только и делает что его ремонтирует и моет. Да, я занимаюсь этим эпизодически, стал писать об этом, потому что народ интересует текучка.
Однако, есть по настоящему интересные и зубодробительные штуки, например, как отлаживать код BIOS и реализовать свой "пошаговый" отладчик.

Суровая аппаратная отладка кода BIOS
К сожалению, я не разработчик материнской платы, у меня нет её схемотехники, а также отсутствует отладочные инструменты. У меня стояла задача запустить BIOS схожей архитектуры на этом железе (зачем и почему, пока рассказывать не буду). Без всяких отладок, прошивка вела себя странно, она и не зависала с ошибкой, но и не загружалась. И мне хотелось понять, на каком же этапе она отваливается.
Сама прошивка BIOS у меня была открыта в IDA Pro, задача была понять в каком же месте кода происходит отвал. Конечно, бесценно знать состояние регистров, месторасположение, реализовать пошаговую отладку, но мне пока не хотелось сильно влезать паяльником в плату и пока морально не готов сильно перепахивать код основного BIOS.
Решение пришло само собой: нужно узнать адрес, где же происходит всякое нехорошее. А адрес можно узнать с помощью логического анализатора, который будет установлен на микросхему BIOS, точно на ножки адреса. ( Read more... )
Однако, есть по настоящему интересные и зубодробительные штуки, например, как отлаживать код BIOS и реализовать свой "пошаговый" отладчик.

Суровая аппаратная отладка кода BIOS
К сожалению, я не разработчик материнской платы, у меня нет её схемотехники, а также отсутствует отладочные инструменты. У меня стояла задача запустить BIOS схожей архитектуры на этом железе (зачем и почему, пока рассказывать не буду). Без всяких отладок, прошивка вела себя странно, она и не зависала с ошибкой, но и не загружалась. И мне хотелось понять, на каком же этапе она отваливается.
Сама прошивка BIOS у меня была открыта в IDA Pro, задача была понять в каком же месте кода происходит отвал. Конечно, бесценно знать состояние регистров, месторасположение, реализовать пошаговую отладку, но мне пока не хотелось сильно влезать паяльником в плату и пока морально не готов сильно перепахивать код основного BIOS.
Решение пришло само собой: нужно узнать адрес, где же происходит всякое нехорошее. А адрес можно узнать с помощью логического анализатора, который будет установлен на микросхему BIOS, точно на ножки адреса. ( Read more... )









