|
Своя программная обёртка USB stm32, Создание своего драйвера USB для STM32 |
|
|
|
Aug 4 2017, 06:59
|
Группа: Участник
Сообщений: 12
Регистрация: 15-05-17
Пользователь №: 97 085

|
Работаю над собственным драйвером для USB в STM32 , что-то мало материала. 99 % как скомпилировать готовый пример. Кто занимался аналогичной задачей? В принципе значительная часть уже сделана.
|
|
|
|
|
 |
Ответов
|
Aug 5 2017, 13:01
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Шаманъ @ Aug 5 2017, 14:05)  Если под драйвером понимать то, что в МК обеспечивает работу USB интерфейса, то у меня написано свое под STM32 (назовем USB стек+некая HAL прослойка, хотя с платформонезависимостью я особо не заморачивался). А в чем собственно вопрос? Ну так автор наверно хочет узнать что же входит или должно входить в состав "своего" Расскажите что у вас там "своё". Хост или дивайс вы сделали, или может OTG? Покажите список вызовов вашего API между аппаратурой и фреймворком. Это ж не секретно? А также между фреймворком и классами. Или если нет у вас такого деления на уровни, то расскажите почему. Покажите список классов которые вы реализовали. Покажите как сделан адаптер к RTOS, как реентерабельность обеспечена и т.д. и т.п.
|
|
|
|
|
Aug 7 2017, 17:51
|
Группа: Участник
Сообщений: 12
Регистрация: 15-05-17
Пользователь №: 97 085

|
Цитата(prottoss @ Aug 5 2017, 14:18)  Нате, глумитесь. Премного благодарен! Многая лета. В книге 'Making Embedded systems' описывается шаблон программирования МК под названием 'драйвер', ну это так. Залез в USB-FS-Device_Lib_V4 и ужаснулся, мрачное нагромождение файлов и не понятно по какому принципу. Меня интересовало как можно подойти к проблеме. Общая схема, два конечных автомата, один автомат отвечает за переходы между состояниями USB устройства, а второй за сборку управляющих запросов из отдельных транзакций. После сборки сообщения , передаётся первому автомату и служит событием, которое может изменить его состояние. Когда смоделировать поведение устройства оказывается затруднительным одним автоматом, то оказывается просто смоделировать несколькими конечными автоматами, взаимодействующими друг с другом передачей сообщений.  Но при ближайшем рассмотрении выяснилось, что обработку управляющих запросов от хоста невозможно представить одним конечным автоматом. Схема сложней. После выполнения транзакции SETUP нужно раскодировать конфигурационный пакет. По результатам расшифровки выбирается один из некоторого множества конечных автоматов, отражающий запрос. Ниже граф переходов для запроса GET_DESCRIPTOR c несколькими стадиями данных. Транзакции выполняются аппаратурой автоматически, по результатам выполнения выставляют флаги. Хост инициирует тр. setup, из сост. I переходит в S, готовит буфер USB для следующей транзакции от хоста и т.д.
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
linuxbergi Своя программная обёртка USB stm32 Aug 4 2017, 06:59 jcxz Цитата(linuxbergi @ Aug 4 2017, 09:59) Ра... Aug 4 2017, 07:02 AlexandrY Цитата(jcxz @ Aug 4 2017, 10:02) Что имее... Aug 4 2017, 08:59 ViKo Мне понятно, что имеется в виду драйвер в микрокон... Aug 4 2017, 09:48 jcxz Цитата(ViKo @ Aug 4 2017, 12:48) Мне поня... Aug 4 2017, 10:41  ViKo Цитата(jcxz @ Aug 4 2017, 13:41) То, что ... Aug 4 2017, 11:24  prottoss Цитата(jcxz @ Aug 4 2017, 16:41) То, что ... Aug 4 2017, 12:00   AlexandrY Цитата(prottoss @ Aug 4 2017, 15:00) Под ... Aug 4 2017, 12:12    prottoss Цитата(AlexandrY @ Aug 4 2017, 18:12) Не.... Aug 4 2017, 12:30     AlexandrY Цитата(prottoss @ Aug 4 2017, 15:30) lwIP... Aug 4 2017, 18:35  alexunder Цитата(jcxz @ Aug 4 2017, 12:41) То, что ... Aug 4 2017, 17:57 Kabdim Тема пообщаться или о чем? Aug 4 2017, 10:00 Эдди А в чем проблема? Через libudev + libusb все решае... Aug 4 2017, 10:10 LightElf QUOTE (linuxbergi @ Aug 4 2017, 09:59) Ра... Aug 4 2017, 10:17 prottoss Цитата(linuxbergi @ Aug 4 2017, 12:59) Ра... Aug 4 2017, 10:41 Эдди Вообще дурацкое это слово — "драйвер". Я... Aug 4 2017, 21:39 Сергей Борщ QUOTE (Эдди @ Aug 5 2017, 00:39) Где драй... Aug 5 2017, 06:34 ViKo Эдди, вы когда-нибудь ставили Виндовс на голый ком... Aug 5 2017, 06:01 Эдди Цитата(ViKo @ Aug 5 2017, 09:01) Эдди, вы... Aug 5 2017, 06:41  Сергей Борщ QUOTE (Эдди @ Aug 5 2017, 09:41) Я, конеч... Aug 5 2017, 12:40 mantech Цитата(ViKo @ Aug 5 2017, 09:01) Эдди, вы... Aug 5 2017, 06:46  ViKo Цитата(mantech @ Aug 5 2017, 09:46) Драйв... Aug 5 2017, 07:12  Шаманъ Цитата(AlexandrY @ Aug 5 2017, 16:01) Ну ... Aug 6 2017, 09:21   jcxz Цитата(Шаманъ @ Aug 6 2017, 12:21) У меня... Aug 7 2017, 08:03   AlexandrY Цитата(Шаманъ @ Aug 6 2017, 12:21) У меня... Aug 7 2017, 10:11    jcxz Цитата(AlexandrY @ Aug 7 2017, 13:11) Я б... Aug 7 2017, 10:56    Kabdim Цитата(AlexandrY @ Aug 7 2017, 13:11) Вот... Aug 7 2017, 12:34     AlexandrY Цитата(Kabdim @ Aug 7 2017, 15:34) есть л... Aug 7 2017, 13:41 Kabdim The license agreement from NXP only permits distri... Aug 7 2017, 15:01 AlexandrY Цитата(Kabdim @ Aug 7 2017, 18:01) The li... Aug 7 2017, 15:45  Kabdim Цитата(AlexandrY @ Aug 7 2017, 18:45) У н... Aug 7 2017, 16:26   AlexandrY Цитата(Kabdim @ Aug 7 2017, 19:26) Это ка... Aug 7 2017, 16:48    Шаманъ Цитата(AlexandrY @ Aug 7 2017, 19:48) Ува... Aug 7 2017, 18:34    Kabdim Цитата(AlexandrY @ Aug 7 2017, 19:48) Абс... Aug 8 2017, 09:22    prottoss Цитата(AlexandrY @ Aug 7 2017, 22:48) При... Aug 8 2017, 14:02    prottoss Цитата(AlexandrY @ Aug 7 2017, 22:48) При... Aug 8 2017, 16:31 Шаманъ Цитата(jcxz @ Aug 7 2017, 11:03) У меня т... Aug 7 2017, 15:50 linuxbergi И ещё вопрос для специалистов. Могут ли быть вложе... Aug 8 2017, 04:00 AlexRayne покурите библиотеки libopencm3, unicore-mx (клон) ... Aug 8 2017, 12:36 ViKo Есть книга:
Михаил Гук. Шины PCI, USB и FireWare
В... Aug 8 2017, 14:12 prottoss В конечном счете примерная схема взаимодействия (у... Aug 8 2017, 14:24 Шаманъ Лучше всего все описано в документе usb_20.pdf кот... Aug 9 2017, 06:37 linuxbergi В своё время интересовался USB , даже опубликовал ... Aug 9 2017, 10:05 AlexandrY Цитата(linuxbergi @ Aug 9 2017, 13:05) В ... Aug 9 2017, 13:29 linuxbergi За информацию и отклики благодарен всем, рискну вы... Aug 10 2017, 06:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|