Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > *NIX и Hardware > Прямое обращение к портам ввода-вывода. |
Автор: Racot 1.8.2012, 22:41 |
У меня есть железка с портами ввода-вывода которая подвешивается к системе с Linux по определённым фиксированным адресам. Мне просто нужно писать и читать порты ввода вывода. Я так предполагаю что мне можно это сделать на пользовательском уровне (прерываний нет - только периодическое чтение-запись). Вычитал что можно писать/читать прямо в физичискую память через файл /dev/mem . 1) Это действитвительно так делается? 2) Что насчёт захвата системных ресурсов? мне нужно как-то в системе резервировать определённе адреса под устройство?(чтобы другое устройство не разместилось по этим же адресам - вроде функции есть такие как check_mem_region(),request_mem_region()....) . Или я вобще всё не так понимаю? Разъясте пожалуста как можно проще - я в этих делах не селён)) |
Автор: LosAngelеs 15.9.2012, 23:54 | ||
ioperm + open + mmap и читаешь\пишешь, только ioperm даёт доступ к первым 3ff портам, если нужны остальные, то нужно использовать iopl |
Автор: tzirechnoy 16.9.2012, 11:57 | ||||
Ни разу не видел полезного использования /dev/mem на линуксах.
Если жэлезка PCI -- то конфигуратор шыны сам разберётся. Если ISA -- то всё тяжэлее, но как-то для PCI выбирают диапазоны адресов, нетрадицыонные для использования в ISA. |
Автор: LosAngelеs 21.9.2012, 19:06 | ||
svgalib |