реклама на сайте
подробности

 
 
> i2c ioctl
/dev/null
сообщение Nov 6 2008, 11:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 17-11-06
Пользователь №: 22 438



Приветствую!
Имеется отладочная плата на DM355. Необходимо написать драйвер для управления CMOS матрицей. Матрицей возможно управлять по I2C, для управления драйвером из user space предполагается использовать ioctl.
Проблема в том, что я не могу сообразить как связать свои команды из user space с kernel space.
В сети нашел некоторые материалы, например http://tldp.org/LDP/lkmpg/2.6/html/x892.html , но особой ясности это не внесло.
Уважаемые, может Вы мне поможете? Хотелось бы почитать еще на эту тему и, в идеале, увидеть пример подобной реализации.
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
XVR
сообщение Nov 7 2008, 08:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(/dev/null @ Nov 6 2008, 14:12) *
Приветствую!
Имеется отладочная плата на DM355. Необходимо написать драйвер для управления CMOS матрицей. Матрицей возможно управлять по I2C, для управления драйвером из user space предполагается использовать ioctl.
Проблема в том, что я не могу сообразить как связать свои команды из user space с kernel space.
В сети нашел некоторые материалы, например http://tldp.org/LDP/lkmpg/2.6/html/x892.html , но особой ясности это не внесло.
Уважаемые, может Вы мне поможете? Хотелось бы почитать еще на эту тему и, в идеале, увидеть пример подобной реализации.
Спасибо.
По приведенной вами ссылке все описано. IOCTL коды драйвер принимает функцией device_ioctl в файле chardev.c, параметры ioctl_num - номер IOCTL, ioctl_param - его параметр.

Пример посылки этих кодов из user space содержится в файле ioctl.c (функции ioctl_set_msg и ioctl_get_msg и ioctl_get_nth_byte)
Go to the top of the page
 
+Quote Post
/dev/null
сообщение Nov 10 2008, 07:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 17-11-06
Пользователь №: 22 438



Цитата(XVR @ Nov 7 2008, 11:12) *
Пример посылки этих кодов из user space содержится в файле ioctl.c (функции ioctl_set_msg и ioctl_get_msg и ioctl_get_nth_byte)

Все верно и приведенный пример сам по себе работоспособен, но.. Когда я пытаюсь вставить этот код в готовый драйвер, он компилируется только при закомментированной функции device_ioctl.
Поэтому я и хотел бы увидеть ещё примеров реализации. Может тогда на меня сойдет озарение 05.gif
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 10 2008, 18:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(/dev/null @ Nov 10 2008, 10:54) *
Все верно и приведенный пример сам по себе работоспособен, но.. Когда я пытаюсь вставить этот код в готовый драйвер, он компилируется только при закомментированной функции device_ioctl.
Поэтому я и хотел бы увидеть ещё примеров реализации. Может тогда на меня сойдет озарение 05.gif
А что говорит компилятор при незакоментированной функции device_ioctl?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 10:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01559 секунд с 7
ELECTRONIX ©2004-2016