Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Доступ к регистрам pcmcia карты памяти


Автор: stogovoleg 5.1.2008, 20:35
Работаю в Linux с pcmcia картой памяти. При вставке карты в слот для ее регистров выделяется 16 байт в памяти с адреса 0х0100, как из программы получить доступ к этой памяти (получить указатель на нее) или изменить значения в этих регистрах?
p.s. в Windows (Borland 6) это делется с помощью функции DeviceIoControl(). 

Автор: bsa 5.1.2008, 20:44
может ioctl() тебе нужен?

Автор: stogovoleg 5.1.2008, 20:53
спасибо за совет, я про нее думал, но man дал слишком мало информации, где можно почитать подробнее?

Добавлено через 8 минут и 52 секунды
Прошу прощения, сегодня весь день ищу решение, смотрел не man, а header

Автор: MAKCim 5.1.2008, 21:17
stogovoleg, 
может http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html#toc7 поможет

Автор: stogovoleg 5.1.2008, 22:52
спасибо

Автор: stogovoleg 6.1.2008, 11:50
Подскажите, пожалуйста, где лежит реализация функции CardServices()? а то компилятор говорит про undefined reference

Автор: bsa 6.1.2008, 12:55
stogovoleg, а в каком заголовочном файле она объявлена?

Автор: stogovoleg 6.1.2008, 15:57
#include "cs_types.h"
#include "cs.h"

Автор: kirjanov 6.1.2008, 16:06
так в introduction же линк лежит на http://pcmcia-cs.sourceforge.net/   smile 
....и похоже это deprecated в 2.6 судя по :

* CardServices is gone
  CardServices() in 2.4 is just a big switch statement to call various
  services.  In 2.6, all of those entry points are exported and called
  directly (except for pcmcia_report_error(), just use cs_error() instead).

Может вот это поможет http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

Автор: stogovoleg 6.1.2008, 17:09
ядро у меня 2.4.32 и ничего с этим не сделаешь, так как использую сертифицированную (а также адаптированную) для Российских ВС версию Linux, инсталяция без исходников, поэтому и спрашиваю какую библиотеку подключить к проекту, чтобы достать функцию CardServices()?  smile 

Автор: bsa 6.1.2008, 17:23
stogovoleg, узнай, в какой пакет входит cs_types.h, затем узнай, какие еще файлы входят в этот пакет и найди среди них нужную библиотеку. Не удивлюсь, если тебе надо просто добавить что-то типа -lcs в параметры линкера.

Автор: kirjanov 6.1.2008, 20:41
ну надо линки смотреть. Посмотрел я сейчас pcmcia-cs - все там в таре есть, что надо smile 

Автор: stogovoleg 9.1.2008, 14:18
bsa, cs_types.h входит в kernel-headers, в котором кроме заголовочных файлов ничего нет.
kirjanov, посмотрел pcmcia-cs в исходниках нашел реализацию функции CardServices, но в исходниках нет реализации функций, которые он в конечном итоге вызывает.

Подскажите, что конкретно и как нужно подключить к проекту, чтобы использовать эту функцию  smile 

Автор: bsa 9.1.2008, 17:13
stogovoleg, а разве библиотек (*.a, *.la и *.so) в том пакете нет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)