|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.05.2017, 18:49 | #11 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
В терминах intel это аппаратное прерывание.
Если вы пишете свой драйвер вам надо вычитывать всё ФИФО. Там есть регистры конфигурации. В них походу можно настроить, какие прерывания писать, а какие нет. Тем самым можно снизить их трафик. 256 - это максимальный размер очереди. По факту она будет короче. Иначе зачем там флаг переполнения ФИФО? Вычитывать надо столько сколько лежит в очереди. Так как внутрянка у них рассчитана на ISA а сверху приделан мост PCI то быстрее 8 МБайт/с вы не получите. INTA#, - вот его и имел в виду. У PCI сложная система, а сейчас вам это не к чему. Четыре линии INTA#, INTB#, INTC#, INTD#. Вам достаточно знать номер IRQ. На нём ещё есть устройства? Или только ваша карта. Если будете переставлять карту в разные слоты, то у неё будут разные номера IRQ. Их можно считать из PCI CFG.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
04.05.2017, 19:30 | #12 | |||
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
нет это промышленный комп, на нем больше ничего нет только эти 2 платы, одна для тестирования канала (вместо внешнего устройства), вторая рабочая для непосредственной работы с внешним устройством. Нет платы будут постоянно стоять на одном месте, вот еще не понял про
Цитата:
Цитата:
Цитата:
Последний раз редактировалось седьмой; 04.05.2017 в 19:40. |
|||
04.05.2017, 20:50 | #13 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Это лучше перепроверить хотя бы через туже sysinfo. Есть материнская плата где сам чёрт ногу сломит.
Так вы сами уже посмотрели. Цитата:
У каждого устройства есть коды Device ID (DID) и Vendor ID (VID). Оно уникальное для каждой серии/модели. Как правило в драйвере эти коды жёстко прописаны в коде. Так вот драйвер перебирает все устройства и ищет свои устройства. Найдя их запоминает их расположение на шине PCI по формату Bus:Device:Function. Далее достаточно прочитать регистры из заданного пространства CFG. BIOS во время старта компьютера настраивает для всех карт PCI их IRQ и записывает номер в PCI CFG в переменную Interupt Line Как работать с PCI? Если вы пишете в ОС Windows или Linux там есть соответствующий API. Для DOS есть два пути через BIOS Int 1Ah или напрямую через порты 0CF8h и 0CFCh ввода вывода.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
05.05.2017, 06:39 | #14 | ||
Форумчанин
Регистрация: 17.07.2012
Сообщений: 140
|
Цитата:
Цитата:
Последний раз редактировалось седьмой; 05.05.2017 в 07:10. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работают прерывания | xotonic | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 24.10.2014 21:18 |
скрипты для OlliDbg- как они пишутся и как работают | Dimka-novitsek | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 14.10.2014 16:50 |
Как работают фрилансеры? | Izobara | Свободное общение | 22 | 15.04.2013 09:55 |
А как работают антивирусы? | MooNDeaR | Свободное общение | 35 | 04.01.2012 16:21 |
Делфи и ассемблер. Не работают прерывания типа Int | Я_и | Общие вопросы Delphi | 8 | 11.12.2010 13:13 |