2009-12-04 4 views
0

У меня есть некоторые вопросы относительно связи по USB-кабелю в Linux, в среде устройства Host-Target Device (USB2.0). Пожалуйста, помогите, поскольку мы застряли для последующей имплантации. У нас есть хост-компьютер, подключенный к целевому устройству (ОС Linux) через USB-кабель. На целевом устройстве нам нужно создать 3 или 4 дочерних процесса. [Использование fork() или некоторого эквивалентного системного вызова] Все дочерние процессы должны взаимодействовать с главным компьютером независимо от наличия дескрипторов исходного файла и дескриптора файловой системы. В соответствии с нашим экспериментом один процесс связывается с ПК одновременно, а затем управление передается другому процессу. Но наше требование - для одновременной связи. Мы не уверены, поддерживает ли USB-драйвер (2.0/3.0) эту методологию.Вопрос о технологической связи через USB-кабель

Любые указатели относительно этого будут полезны.

спасибо.

-AD

+0

У вас есть одна коммуникационная шина через USB, и вы хотите одновременно передавать 4 разных пакета? Это похоже на то, что вы хотите отправить 4 разных пакета через Ethernet (вы отправляете их по одному, а не все одновременно) – MBO

+0

Какой класс вы используете? Что работает на устройстве и что на стороне хоста? (USB не является последовательной линией, где вы можете нажимать биты) – Boris

ответ

1

Согласно нашим экспериментам, один процесс связывается с ПК в то время, то управление передается другому процессу.

Так работают компьютеры. Только один поток за раз контролирует определенный процессор - когда он блокирует i/o или исчерпывает свой квант, управление передается другому потоку.

Что вам нужно для одновременности, с которой вы не можете справиться с отправкой данных один за другим?

0

USB - это протокол последовательной шины с SINGLE DATA BUS, и это означает, что то, что вы ищете, невозможно.

Но мы можем иметь 4 разных ТРУБЫ СВЯЗИ USB, которые могут предоставлять разные пути, но НЕ одновременно.

Смежные вопросы