LINUX.ORG.RU

Re: Программирование PCI контроллера в Linux

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

вилфрем

anonymous ()

Re: Программирование PCI контроллера в Linux

А что подразумевается под "Программирование PCI контроллера в Linux", написание дров под PCI-устройства, или работа с контролером, но там особо работать нечего, разве что доступ к конфигурационному пространству(это работа с адреосами 0cf8 0cfc), но там нет ничего интересного, вся инфа и тек есть в структурах ядра, что делать то хочешь?

Whaler ()

Re: Программирование PCI контроллера в Linux

2Whaler Цепляют спец-девайс к карте-PCI, карту разумеется в шину. На компе RTLinux. ТЗ: Написать прогу для руления спец-девайсом.

Спасибо ребята что откликнулись, но я уже нарыл доки.

anonymous ()

Re: Программирование PCI контроллера в Linux

Тут всё просто. Самое трезвое писать драйвер PCI устройства. Как он будет работать определяется структурой PCI устройства. Во время POST bios контроллер шины распеределяет ресурсы (прерывания, регистры в пространстве ввода/вывода, отображения в оперативную память). Результат этой работы табличка, которую вы видите при загрузке компа (PCI PnP). Далее операционке надо узнать какие на шине есть устройтсва, для этого существует один из двух механизмов обращения к конфигурационному пространству PCI устройств . Но это все неважно, поскольку ядро при инициализации само считывает эту информацию и размещает её в списках структур pci_bus, pci_dev. В этих структурах находится конфигурационная информация. Самый простой случай: устройство подерживает шинные опирации чтения/записи по портам или в памяти и прерывание(или даже без него). По значениям Vendor ID, Device ID находим своё устройство в списке, узнаем номер его прерывания, базовый адрес (базовые адреса)( может быть в пространстве регистров ввода/вывода или в памяти). Берём документацию на устройство где расписаны регистры устройства относительно базового адреса и работаем с ним. С точки зрения написания дров PCI отличается от ISA только челоовеческим PnP (ISAшный PnP за человечный не считаем).

Где обо всём этом почитать в объёме достаточном для написания драйвера?

Гук М. Аппаратные интерфейсы ПК. Энциклопедия.-СПб.:Питер,2003 только именно интерфейсы, а не Аппаратные средства IBM PC. http://tldp.org/LDP/tlk/ там есть глава посвещённая PCI как-то быстропробежавшись это всё что я нашёл, ICQ 97394046

Whaler ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.