Jump to content

    

ARM Linux как USB Device

Доброе утро.

 

Извините, если похожая тема (как я подозреваю, но не нашел) уже существует. Ткните...

 

На горизонте появилась задача по использованию устройства на основе ARM Cortex-A9 (TI) с ОС Linux в качестве USB-устройства, которое будет подключено к хосту x86. Устройства должны быть класса MSC (Mass Storage), как минимум и UVC (USB-Video), как оптимум.

На данный момент хочется на уровне концепции понять работу с Linux в роли USB устройства указанных классов, а не хоста.

Как идет функционирование - это спец. драйвер от производителя процессора ARM + API или это организуется как-нибудь иначе?

 

Я нашел это Linux USB Gadget; есть сомнения насколько это актуально, а так же

video class driver (very experimental)
.

 

Чем пользуются для таких целей сегодня? Ведь такая задача наверное встречается сплошь и рядом!

Спасибо.

 

 

 

p.s. Я похоже спутал раздел, мне наверное в Linux-форум надо было? Прошу перенести туда, в этом случае.

Edited by Слёзкин

Share this post


Link to post
Share on other sites

Кажется, поспешил с утра создать тему, т.к. сам нашел некоторую информацию в нашей, пока еще глобальной, сети.

 

1. http://processors.wiki.ti.com/index.php/Us...t_configuration

 

2. 5d04e6c8073fc4c6491655967bf51a94.jpg

 

Таким образом, понятно, что в ядре эта возможность предусмотрена, остается посмотреть какие API у этих модулей, а также непонятно насчет того, нужна ли поддержка "железа" конкретного производителя...

Edited by Слёзкин

Share this post


Link to post
Share on other sites

Каламбур, что я сам все больше отвечаю на свой размытый вопрос, но тем не менее:

 

TI wiki (про MSC gadget driver) объясняет концепцию работы Mass Storage. Мне кажется, тоже и для UVC справедливо.

Если я верно понимаю, для MSC нужен

1) драйвер производителя (переферии), работающий с API модуля USB стека (стандартным);

2) Модуль g_mass_storage (стандартный) с аргументом, например, пути к каталогу, который будет предоставлен как root для "usb-накопителя" Подробнее.

 

Для UVC конкретно, видимо несколько сложнее.

В идеале, хочется, чтобы этакий драйвер предоставлял пользовательскому пространству видеовыход, вроде как монитор, но так ли ведет себя UVC Gadget, пока не еще понял.

 

Немного об UVC.

Ну, видимо, несложно найти интересующую меня информацию в интернете.

Все что я нашел - для меня на сегодня достаточное приближение. Тему можно закрыть или удалить, если она здесь кажется бесполезной.

Если нет, буду рад дополнениям, поправкам...

Edited by Слёзкин

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this