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

 
 
> свой драйвер АЦП, два пути
TigerSHARC
сообщение Jun 13 2013, 11:29
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



Надобно написать драйвер(модуль ядра) АЦП.

Прочитав Linux Device Drevers вижу очевидный путь: пишу модуль ядра, который представляет собой standalone программу, принимающую данные от АЦП поп рерыванию от АЦП(сигнал когда данные готовы), и оформленную как собственно модуль/драйвер для Linux (благо доступ к регистрам есть из пространства ядра)

Но! Вижу что устройства "по-хорошему" регистрируются в sysfs, а вот этот путь не совсем понятен.

Вопрос: чем чреват первый путь и и как писать для второго(статейки может какие есть с примерами...)?

Сообщение отредактировал TigerSHARC - Jun 13 2013, 11:30
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tarbal
сообщение Sep 5 2013, 15:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Моя проблема в том, что в ссылке, что вы дали под линком:
How to use DMA and interrupts?

Вот такая страничка.

http://www.comedi.org/doc/drivercallbacks.html

Мне мало информации, чтобы понять как это работает, а о том как писать драйверы под кернел и куча книг и в интернете полно информации. Про ПДП в нарушение обещания данного в названии ссылки ни слова не нашел. Вы сами драйвер писали? Для нового устройства. Так чтобы там ДМА контроллер был специфический. Я подозреваю, что там начнется песня с пляской.

Вот сейчас мы работаем со стандартной Линукс библиотекой OPAL она нужна для организации видео телефонных звонков через интернет. Автор легко добавил необходимые нам свойства и оно легко заработало на х86 железе. А дальше начались сюрпризы с портингом на iMX53. И это заметьте все в пространстве пользователя происходит. Ни строчки из кернела не затронуто. Автор библиотеки уже два месяца бьётся над решением возникающих проблем.

Вы поймите, я не против использования фреймворка, мне интересно разобраться если оно мне надо.

Кстати ZIO должна быть серьёзной системой, но самое смешное, что там нужно знать ту информацию, которую я давал. Вот выдержка из manual:

3 The Bus Abstraction
The ZIO core module is called zio.ko and it creates a new bus item in Linux. A bus is a
software abstraction for kernel-related software modules; it splits the role of the device from the
role of the driver. In order to have a new peripheral working in your system you thus need both
items: the driver is in charge of any device that appears in the system, while the device is a data
structure that describes the parameters of the specific hardware instance. The two structures
are bound by calling a match function, which is at the core of the bus abstraction. If the device
and the driver match, the driver is asked to manage the new device instance.



Цитата(vshemm @ Sep 5 2013, 18:32) *
тупой драйвер будет лучше.


Метод бритвы Оккама призывает делать вещи проще.

Цитата(vshemm @ Sep 5 2013, 18:32) *
с которыми работать удобнее, чем с read/write абстрактого драйвера

зачем read/write драйверы содержат IOCTL функции для этой цели, Второй метод через procfs.

Сообщение отредактировал Tarbal - Sep 5 2013, 15:08
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 6 2013, 07:49
Сообщение #3


Знающий
****

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



Цитата(Tarbal @ Sep 5 2013, 19:01) *
Кстати ZIO должна быть серьёзной системой, но самое смешное, что там нужно знать ту информацию, которую я давал. Вот выдержка из manual:


Главное чтобы вы понимали для чего им понадобилась своя абстрактная шина

Цитата
Even if no physical bus is involved with ZIO, by relying on this software abstraction we are able to deal with several devices of the same type.


на то он и фреймворк - это код для целого класса устройств. Теперь подумайте для чего вы все это рассказывали ТС.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TigerSHARC   свой драйвер АЦП   Jun 13 2013, 11:29
- - DASM   Ну вообще доступ к регистрам можно и из пользовате...   Jun 13 2013, 12:21
|- - TigerSHARC   Цитата(DASM @ Jun 13 2013, 16:21) Ну вооб...   Jun 13 2013, 13:39
- - DASM   Не, так делать не надо. Но можно.. Мне если лень д...   Jun 13 2013, 14:37
- - Hoodwin   С sysfs пробовал немного, все же это не совсем фай...   Jun 13 2013, 21:50
|- - Муравей   Цитата(Hoodwin @ Jun 14 2013, 01:50) Собс...   Jul 12 2013, 10:47
|- - DASM   Цитата(Муравей @ Jul 12 2013, 14:47) Тоже...   Aug 6 2013, 02:47
- - Idle   Цитата(TigerSHARC @ Jun 13 2013, 15:29) В...   Jun 18 2013, 03:57
- - Ya_Mike   Как-то пользовался драйвером АЦП для at91-adc, для...   Jun 28 2013, 13:13
|- - denyslb   Цитата(Ya_Mike @ Jun 28 2013, 16:13) Как-...   Jun 29 2013, 01:38
|- - Ya_Mike   Цитата(denyslb @ Jun 29 2013, 05:38) Мне ...   Jul 4 2013, 13:24
|- - sasamy   Цитата(Ya_Mike @ Jul 4 2013, 17:24) Можно...   Jul 4 2013, 14:52
|- - denyslb   Цитата(Ya_Mike @ Jul 4 2013, 16:24) Откры...   Jul 26 2013, 09:22
- - vshemm   В ядре (хоть и в staging) есть специальный фреймво...   Jul 5 2013, 11:44
|- - sasamy   Цитата(vshemm @ Jul 5 2013, 15:44) В ядре...   Jul 5 2013, 19:29
- - Tarbal   в /sys драйвер появится усилиями операционной сист...   Aug 22 2013, 15:14
|- - Dubov   Цитата(Tarbal @ Aug 22 2013, 19:14) в /sy...   Aug 26 2013, 13:38
|- - Tarbal   Цитата(Dubov @ Aug 26 2013, 17:38) интере...   Aug 26 2013, 14:34
- - Dubov   Ну а кроме устарелости моей практики, что можно ск...   Aug 26 2013, 15:16
|- - Tarbal   Цитата(Dubov @ Aug 26 2013, 19:16) Ну а к...   Aug 27 2013, 01:25
- - Hoodwin   В новой модели драйверов тоже есть свои неудобства...   Aug 27 2013, 14:17
|- - Tarbal   Цитата(Hoodwin @ Aug 27 2013, 18:17) В но...   Aug 27 2013, 22:50
||- - Tarbal   Цитата(Tarbal @ Aug 28 2013, 02:50) Это н...   Aug 28 2013, 13:08
||- - A. Fig Lee   Цитата(Tarbal @ Aug 28 2013, 09:08) А как...   Aug 29 2013, 00:26
||- - Tarbal   Цитата(A. Fig Lee @ Aug 29 2013, 04:26) Н...   Aug 29 2013, 19:57
||- - A. Fig Lee   Цитата(Tarbal @ Aug 29 2013, 15:57) What ...   Aug 29 2013, 22:20
||- - Tarbal   Цитата(A. Fig Lee @ Aug 30 2013, 02:20) h...   Aug 30 2013, 11:21
||- - A. Fig Lee   Цитата(Tarbal @ Aug 30 2013, 07:21) Если ...   Aug 30 2013, 16:04
||- - Tarbal   Цитата(A. Fig Lee @ Aug 30 2013, 20:04) ...   Aug 30 2013, 22:08
||- - A. Fig Lee   Цитата(Tarbal @ Aug 30 2013, 18:08) Это н...   Aug 30 2013, 23:57
|- - A. Fig Lee   Цитата(Hoodwin @ Aug 27 2013, 10:17) В но...   Aug 28 2013, 02:28
- - psL   Драйвер АЦП, имхо, по простому - это символьное у...   Aug 30 2013, 15:33
|- - Tarbal   Цитата(psL @ Aug 30 2013, 19:33) Драйвер ...   Aug 30 2013, 16:21
|- - psL   Цитата(Tarbal @ Aug 30 2013, 20:21) V4L э...   Aug 30 2013, 20:09
|- - Tarbal   Цитата(psL @ Aug 31 2013, 00:09) по повод...   Aug 31 2013, 17:11
|- - sasamy   ЦитатаНо если вы настаиваете, то имея ПДП фифо не ...   Aug 31 2013, 17:37
||- - Tarbal   Цитата(sasamy @ Aug 31 2013, 21:37) Скоро...   Aug 31 2013, 17:57
||- - sasamy   Цитата(Tarbal @ Aug 31 2013, 21:57) Был в...   Aug 31 2013, 18:17
||- - Tarbal   Цитата(sasamy @ Aug 31 2013, 22:17) Приме...   Aug 31 2013, 19:51
||- - sasamy   Цитата(Tarbal @ Aug 31 2013, 23:51) я не ...   Sep 2 2013, 14:07
||- - Tarbal   Цитата(sasamy @ Aug 31 2013, 18:07) Кольц...   Sep 3 2013, 13:29
||- - sasamy   Цитата(Tarbal @ Sep 3 2013, 17:29) Я пола...   Sep 3 2013, 16:14
||- - Tarbal   ЦитатаУ процессора может и не быть ПДП к АЦП. Тогд...   Sep 3 2013, 16:24
||- - sasamy   Цитата(Tarbal @ Sep 3 2013, 20:24) самое ...   Sep 3 2013, 17:46
|- - psL   Цитата(Tarbal @ Aug 31 2013, 21:11) имея ...   Sep 2 2013, 16:48
- - Tarbal   Интересно стало: есть ли здесь кто-нибудь кто писа...   Sep 4 2013, 17:26
|- - sasamy   Цитата(Tarbal @ Sep 4 2013, 21:26) Интере...   Sep 5 2013, 06:58
- - vshemm   Есть, писали Comedi самый старый фреймворк, для ...   Sep 5 2013, 07:30
|- - sasamy   Цитата(vshemm @ Sep 5 2013, 11:30) Comedi...   Sep 5 2013, 11:11
- - Tarbal   Теперь такая проблема. У меня ЦПУ Freescale Cortex...   Sep 5 2013, 12:26
|- - vshemm   Цитата(Tarbal @ Sep 5 2013, 16:26) Теперь...   Sep 5 2013, 13:00
|- - Tarbal   Цитата(vshemm @ Sep 5 2013, 17:00) Так, к...   Sep 5 2013, 13:29
|- - vshemm   Цитата(Tarbal @ Sep 5 2013, 17:29) И чем ...   Sep 5 2013, 14:32
|- - vshemm   Цитата(Tarbal @ Sep 5 2013, 19:01) Моя пр...   Sep 5 2013, 15:25
||- - Tarbal   TigerShark если у вас будут вопросы по реализации ...   Sep 5 2013, 19:08
- - Tarbal   Вопрос знатокам. В данный момент я делаю драйвер e...   Sep 6 2013, 11:04
- - vshemm   Цитата(Tarbal @ Sep 6 2013, 15:04) Вопрос...   Sep 7 2013, 17:27
- - Tarbal   Цитата(vshemm @ Sep 7 2013, 21:27) Выбор ...   Sep 8 2013, 21:11
- - sasamy   Цитата(Tarbal @ Sep 9 2013, 01:11) Kак сд...   Sep 9 2013, 05:44
- - Tarbal   Цитата(sasamy @ Sep 9 2013, 09:44) Ваш во...   Sep 9 2013, 11:50


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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 08:20
Рейтинг@Mail.ru


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