Господа помогите электронщику сделать первый шаг. Нужен пример простого кода для вставки в bios. Что бы при загрузке микроконтроллера выдавалась информация по последовательному порту о содержимом, например, участка памяти (ппзу). Микроконтроллеры на базе i486. Адрес последовательного порта 03F8h. Детали не важны я их сам постараюсь доработать.
mvmaster Поясните, пожалуйста, суть вопроса в том чтобы добавить код в биос или же в том как программировать последоваетльный порт? Если Вас интересует первое, то вот http://wasm.ru/article.php?article=1013001 Если второе, то, думаю, нужно разобраться с регистрами COM порта (например по справочнику Кулакова). Затем настроить эти регистры через команды ввода/вывода (in/out) в порт в соответствии с необходимым протоколом, написать подпрограмму обработки прерываний по приему/передаче байта, переопределить вектор прерываний последовательного порта на навоую подпрограмму обработчик. Ну вот вроде бы в общих чертах и все, если что-то не так, то поправьте меня.
Надеюсь добавить код в биос и запрограммировать порт я смогу сам в дальнейшем путем всяческих экспериментов. Сейчас я бы хотел увидеть с чего начинать - код который считывает память и отправляет в порт. Т.е. самый первый шаг.
mvmaster Адрес 3F8h разделяет три регистра ( данные передатчика, данные премника, младший байт делителя частоты). Переводите регистры в режим данных, путем сброса 7-го бита регистра по адресу 3FBh; Затем записывает в регистр данных передатчика содержимое аккумулятора out 3F8h, al; Предварительно перед этим поместив в аккумулятор байт из необходимого адреса mov al, byte ptr [adress].
Да, кстати, а какой именно у Вас контроллер? Потому как я тут описываю как работать с последовательным портом для персональных компьютеров, а у Вас там в контроллере, вообще, может, своя периферия и работать с ней надо по другому. Сам работаю с контроллерами и периферия у них у многих разнится.
Контроллер SP211SE. Может быть Вы как специалист по работе с контроллерами подскажете мне что ни будь. Это PC104 микроконтроллеры MSM486DX фирмы Digital Logic. Почти у всех кислота с аккумуляторов разьела дорожки и ножки микросхем. Некоторые удаётся востановить. У некоторых оказывается сброшенной программа. И как их запрограммировать совершенно непонятно. Биос с удаленным терминалом не работает. Видеоконтроллера встроенного нет. Дисковод не подключается, видимо в биосе заблокирован. Остаётся выпаивать микросхему AM29F016S и прошивать её на программаторе, но это тоже путь сложный. Вот я и хочу дописать биос чтобы через него получить доступ к ппзу из компьютера, как это сделано в других типах контроллеров.
Вот здесь подробная русская дока по посл. порту http://www.wasm.ru/forum/attachment.php?item=312 А кроме ПЗУ есть ещё места, где можно хранить программы? Может попробовать прошить штатную BIOS от ПК, если родные не сохранились?
mvmaster К сожлению в помышленных контроллерах, я далеко не специалист, я работаю с однокристальными. Но, как, я знаю PC104 наследуют архитектуру x86 систем, поэтому попробуйте работать с последовательным портом как я писал ранее.