Работа с оборудованием под ОС Линух

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Ответить
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Работа с оборудованием под ОС Линух

Сообщение mig-31 »

Можно ли работать с оборудование под ОС Линух с помощью I/O регистров и библиотеки (юнит) ports подобно как в ДОС. Речь идет о PCI карте.
Если да, нужен ли драйвер (производитель карты драйвер для Линух не поставляет ) или можно обойтись без него?

ПРИМЕР кода для ДОС:
BAR0 - Base Adress Register 0
BAR1 - Base Adress Register 1

Код: Выделить всё

  //запись в регистр
   port[BAR1+$28]:=0;                         
   port[BAR0+$85]:=$0;
//чтение
   i:=port[BAR1+$27];                         
   j:=port[BAR0+$80];   
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Попробуй посмотри диапазон адресов, назначенный оборудовонию системой, ну и можно попробовать работать напрямую через /dev/port.
С платой PCI ->LPT получается запросто.
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

На сайте FreePascal есть пример работы карты с последовательными портами.
У меня же измерительная ПСИ карта с аналогово-цифровыми преобразователями.
С картой поставляеться документация с описанием ее регистров.
Поэтому думаю что с ней можно было бы работать как в примере на сайте FreePascal.
Т.е через функцию fpIOperm получить доступ к I/O порту, а с помощью функций ReadPortB, WritePortB: считывать и записывать данные в регистры карты. Функции определены в модуле x86:
http://lazarus-ccr.sourceforge.net/docs ... dex-5.html

Есть ли у кого-нибудь подобный опыт работы с картами?
Драйвер для Линух писать долго, да и писать его надо в С.
Ответить