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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
Golikov A.
сообщение Oct 17 2014, 10:45
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



у меня 2 варианта
либо через usb в ethernet, и надежда на то что в ядре уже есть драйвер аля RNDIS, и все произойдет само собой
либо что немного более правильно через SPI, I2S и так далее, но к ним точно драйверов не будет. И особенно доступа из андроида, и тут надо будет написать драйвер, и причем не трогая ядра, а то поговаривают в гугл маркет пускать перестанут...

Но в познавательных целях хочется все варианты и чуть ли не RNDIS повторить...
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 17 2014, 10:50
Сообщение #32


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Golikov A. @ Oct 17 2014, 14:45) *
у меня 2 варианта
либо через usb в ethernet, ...

В проекте http://virt2real.ru/ используется ethernet через USB. Исходники ядра доступны. Можете посмотреть, как там сделано.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 17 2014, 10:59
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



спасибо
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 17 2014, 15:18
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Golikov A. @ Oct 17 2014, 14:45) *
либо что немного более правильно через SPI, I2S и так далее, но к ним точно драйверов не будет.


Через I2C можно тоже работать из юзер моды. Через SPI, вроде, тоже. I2S (не ошиблись??) это уже прерогатива аудио-подсистемы.
Написать драйвер SPI или I2C-устройства - это элементарщина (см. для примера драйвера в input разных клавиатурных микрух.) Но, повторюсь, через эти интерфейсы можно работать и из юзер-моды через драйвера SPI или I2C мастеров.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 17 2014, 17:12
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



I2S там какой-то аудио выход что ли...
А SPI чуть ли не ногодрыгом сделан, не понятно по схеме

то есть получается что все уже написано до нас, бери и работай? А где место подвигу?
Go to the top of the page
 
+Quote Post
gerber
сообщение Oct 17 2014, 17:38
Сообщение #36


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(Golikov A. @ Oct 17 2014, 21:12) *
то есть получается что все уже написано до нас, бери и работай? А где место подвигу?

Вот когда после загрузки вашего драйвера в систему что-то пойдёт не так - вот тогда и будет место подвигу.
А оно обязательно будет! rolleyes.gif


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 17 2014, 18:53
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Golikov A. @ Oct 17 2014, 21:12) *
А где место подвигу?


В общем, да, для решения простых задач через USB, I2C и SPI все сделано до нас. Бери и пользуйся сразу из юзер спейса. С I2S - вот там место подвигу вполне найдется sm.gif

PS
И еще место подвигу будет, когда оно с пол-оборота не заработает, или kernel panic получится где-то вдалеке от драйвера... Я вот доходил до патченья глюков в недрах инициализации клоков, резетов и доменов питания одного процессора... Который вылез с совсем неожиданной стороны, после написания, кажется, драйвера видеозахвата, работающего через видеопорт... ну вот как-то так... Типа дернул за веревочку, а взорвалось в соседней области sm.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 17 2014, 19:52
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



понятно, спасибо на добром словеsm.gif
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 26 2014, 18:05
Сообщение #39


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

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



Цитата(Golikov A. @ Oct 15 2014, 17:32) *
Понятно, спасибо за разъяснения, я глупо надеялся что есть какая-то логика... А как вы с этим живете? Не лезете на уровень драйверов или уже поднатарели и спокойно в этом ковыряетесь?


Я, имея солидный опыт в электронике и программировании микропроцессоров, "лез" на уровень драйверов Линукса несколько лет. Не скажу, что все время этим занимался, но изучал в свободное время. Там надо понимать что такое ядро. Уметь его компилировать, знать как его конфигурировать. Знать как устроена структура исходников ядра. Где расположены файлы платы и мого многое другое, что явно не относится к написанию драйвера. Если на пальцах, то ответ получится точный, но бессмысленный.
Драйвер в Линух (Юних) это код, который бежит в пространстве ядра и имеет интерфейс доступа файла. Написав соответствующим образом функции read/write, вы, читая этот файл или записывая в него будете обмениваться данными с вашим устройством.

Вот эти книжки (их можно скачать из сети) помогут вам разобраться в дополнительных знаниях вокруг драйверов Линукса.
http://www.amazon.ca/Embedded-Linux-Primer...d/dp/0131679848
http://www.kroah.com/lkn/

А на этом сайте можно найти много интересной информации.
http://free-electrons.com/

Цитата(SM @ Oct 17 2014, 19:18) *
Через I2C можно тоже работать из юзер моды. Через SPI, вроде, тоже. I2S (не ошиблись??) это уже прерогатива аудио-подсистемы.
Написать драйвер SPI или I2C-устройства - это элементарщина (см. для примера драйвера в input разных клавиатурных микрух.) Но, повторюсь, через эти интерфейсы можно работать и из юзер-моды через драйвера SPI или I2C мастеров.


Уточнение. В Линукс системе как правило уже есть драйвры SPI и I2C, которыми можно воспользоваться без написания специального драйвера, но также можно и написать драйвер для доступа к определенному устройству на указанных шинах. В документации ядра есть пример доступа к таким устройствам без написания драйвера:
https://www.kernel.org/doc/Documentation/i2c/dev-interface

Документация на I2C
https://www.kernel.org/doc/Documentation/i2c/
Документация на SPI
https://www.kernel.org/doc/Documentation/spi/

Документация на все ядро
https://www.kernel.org/doc/Documentation

Цитата(gerber @ Oct 17 2014, 21:38) *
Вот когда после загрузки вашего драйвера в систему что-то пойдёт не так - вот тогда и будет место подвигу.
А оно обязательно будет! rolleyes.gif

100%

Сообщение отредактировал Tarbal - Oct 26 2014, 18:07
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 07:00
Рейтинг@Mail.ru


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