Технический форум

Технический форум (http://www.tehnari.ru/)
-   Драйверы (http://www.tehnari.ru/f76/)
-   -   Как настроить драйвер к PCI плате? (http://www.tehnari.ru/f76/t253587/)

avitec 04.05.2017 16:27

Как настроить драйвер к PCI плате?
 
Мне нужно написать код на с++ под ms-dos (чистый ms-dos, не эмулятор) для аппаратного прерывания PCI, как писать код примерно предстваляю, поэтому пишу вопрос именно в этот раздел, я не могу найти номер IRQ прерывания в досе для платы PCI, не подскажете куда идти? Желательно не очень далеко.:apl:

Николай_С 04.05.2017 16:43

Цитата:

Сообщение от avitec (Сообщение 2484457)
я не могу найти номер IRQ прерывания в досе для платы PCI

И не найдёте.
Дело в том, что ОС присваивает эти прерывания при старте.

avitec 04.05.2017 17:01

Цитата:

Сообщение от Николай_С (Сообщение 2484464)
И не найдёте.
Дело в том, что ОС присваивает эти прерывания при старте.

И как тогда настраивают такие драйверы? Или просто бросают дос и переходят на винду? :toper:

Abell 04.05.2017 17:34

Цитата:

Сообщение от avitec (Сообщение 2484457)
не могу найти номер IRQ прерывания в досе для платы PCI

Честно говоря, прерывания на PCI не применял, только на ISA, но, насколько помню - там на всю шину всего четыре физических прерывания (INT A,B,C,D), из них 2 хитро зарезервированы за AGP и USB, а остальные еще и зависят от слота.
Прерывания шины в любом случае задействованы в системе IO DOS - нужен свой обработчик по этим векторам, с возвратом на стандартный. Какие конкретно вектора, какие регистры и как обрабатывать - уже не помню tehno015

Hacker 05.05.2017 02:37

вроде пишим любой, потом под биос выставляем конкретный, если нужно чтоб работало в MS то вроде так, смотрим ирку в биос и резервированые, затем свободный вписываем в софт, а в биосе его указываем..
но насколько я помню, все ирку уже прописаны остаются только те ..
аа понял, надо порт на плате найти..
я раньше делал так, ставлю рейд, заранее зная его, при тесте он показывает на каком ирку стоит (при загрузке), снимаю, и пишу этот порт как мне нужно.. ну типа того.. давно это было.. но как вариант.. а вообще то в сервис мануалах все порты прописаны, и не забываем, параллельные порты на то и параллельные, что они параллельные, их назначение определяет не ирку, а уже забитые назначения, всего их 16, и все они давно определенны для проца, всё что можно использовать это 9,10,11, насколько я помню.. остальные заняты..

avitec 05.05.2017 16:42

Спасибо всем за помощь, оказалось что слишком глубоко закопался, мне достаточно программного прерывания, которое приходит с платы PCI от Микроконтроллера. Оказалось что не нужна особо скорость, главное просто проверить правильное поступление данных на плату.


Часовой пояс GMT +4, время: 20:47.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.