Простой драйвер устройства SPI

Я написал простой драйвер для символьного устройства в неблокирующем режиме, используя epoll. Теперь я хотел бы использовать этот драйвер для интерфейса SPI.

Каким должно быть имя устройства или как мне сопоставить фактическое устройство с ядром? Как я буду использовать прерывание?

Кроме того, кто является ведущим и ведомым? Предположим, я подключаю устройство, совместимое с SPI, к плате панда. Станет ли это устройство ведомым, а плата разработки станет ведущей?

Я новичок. Я использую доску панды. Каким образом мне следует ознакомиться с Техническим справочником?

Я был бы очень признателен, если бы кто-нибудь объяснил и прояснил мои сомнения.


person ddpd    schedule 18.03.2014    source источник
comment
Плата панда является главной, а ваше spi-совместимое устройство — подчиненным. Не могли бы вы опубликовать код вашего драйвера?   -  person Punit Vara    schedule 03.12.2015


Ответы (2)


Возможно, вы захотите подключить свой драйвер к драйверу шины SPI. Это требует небольшой доработки вашего драйвера. См. drivers/spi/spi.c

Вы будете использовать команды для шины (мастер, сторона ЦП) для чтения и записи команд в устройство.

Я не знаю, что такое плата Panda, но если она подключается через SPI, она может быть ведущей, но, вероятно, ведомой.

person wallyk    schedule 26.03.2014

Ознакомьтесь с основами spi здесь

person Sagar Jain    schedule 28.03.2014
comment
Я не мог связать эту ссылку с драйвером char, который я написал. Можете ли вы связать это? напр. В драйвере char мы определяем .open, .close, а также module_init, но его нигде нет в этой ссылке. - person ddpd; 28.03.2014
comment
Думаю, намек на это есть в заголовке /include/linux/spi/spi.h. Драйверу контроллера нужен драйвер протокола, который выполняет операции с реальными файлами. Затем файловые операции сопоставляются с упомянутыми операциями в драйвере контроллера. - person Sagar Jain; 28.03.2014