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

 
 
> Реализация USB->UART (CDC Class) под linux, да еще и сразу несколько портов
Hoodwin
сообщение Jun 28 2016, 21:13
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Не доводилось ли кому гонять USB стэк от TI на семействе F55x под линуксом? Конкретно интересует реализация USB-UART интерфейсов.

1) Есть ли какой-нибудь аналог драйвера MSP430 USB Example, CDC device под линукс?
2) Из стандартных примеров TI вроде бы получается, что можно пытаться создать устройство на несколько интерфейсов CDC (поменять define), но дейскриптор устройтва там только про один интерфейс. Если его механически поменять, скажем, на 2, то возникает такая проблема, что endpoint у всех интерфейсов получается одинаковый. Отсюда второй вопрос (он, конечно, больше к USB specification относится, но все же), можно ли в принципе реализовать несколько портов на одном endpoint-е, или они должны быть разные? Насколько я смог понять, нонешний стек во всех функциях передает номер интерфейса, но реально он у меня всегда нулевой, если все интерфейсы настроены на один endpoint.
3) Можно ли экономить endpoint-ы для конфигурационных сообщений для нескольких портов, сделав один общий адрес для всех управляющих сообщений (set line coding etc)?
4) Бывают ли вообще стандартные реализации USB->UART на основе CDC class (drivers/usb/serial/usbserial.c), которым не нужно вообще ничего дополнительно в ядро вставлять? Пока что наблюдал модули для Silabs CP210x, FTDI, CH341, все они самостоятельно регистрируются в usbserial. Более того, CP210x и CH341 вообще сообщают изначально, что они не CDC.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Эдди
сообщение Jun 30 2016, 05:39
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Посмотрите мою заготовку USB-CDC: эта функция обрабатывает запросы, и реагирует на get/set linecoding.
Вообще, мне это было в другом проекте необходимо, чтобы организовать мост между третьей стороной, которая только UART умеет, и компом посредством STM32F103. Сам чип принимает команды только в определенном формате, все остальное насквозь проходит. А set/get linecoding был нужен для задания параметров третьей стороны.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Hoodwin   Реализация USB->UART (CDC Class) под linux   Jun 28 2016, 21:13
- - mcheb   Цитата(Hoodwin @ Jun 29 2016, 00:13) Не д...   Jun 29 2016, 02:19
- - Hoodwin   Мне нужно, чтобы система видела два ком-порта в ми...   Jun 29 2016, 05:56
- - mcheb   В системе выглядит так (Убунту) Bus 008 Device 003...   Jun 29 2016, 07:02
- - Hoodwin   А с каким драйвером оно у Вас под линукс работает?   Jun 29 2016, 08:16
|- - mcheb   Цитата(Hoodwin @ Jun 29 2016, 12:16) А с ...   Jun 29 2016, 08:48
- - Hoodwin   Вот беру дерево от ядра 3.15. Каталог drivers. gre...   Jun 29 2016, 14:59
|- - mcheb   Цитата(Hoodwin @ Jun 29 2016, 17:59) Поэт...   Jun 29 2016, 15:45
- - aaarrr   /drivers/usb/class/cdc-acm.c   Jun 29 2016, 15:36
- - Hoodwin   Мне вот нужно сделать на самом деле мостик USB-UAR...   Jun 29 2016, 16:22
|- - mcheb   Цитата(Hoodwin @ Jun 29 2016, 20:22) Тогд...   Jun 29 2016, 17:10
|- - aaarrr   Цитата(mcheb @ Jun 29 2016, 20:10) если я...   Jun 29 2016, 18:17
- - aaarrr   Если это виртуальный порт, а не мост, то вполне мо...   Jun 29 2016, 16:46
- - Hoodwin   На самом деле я тему открыл после некоторых своих ...   Jun 29 2016, 18:33


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 02:57
Рейтинг@Mail.ru


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