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

 
 
> Своя программная обёртка USB stm32, Создание своего драйвера USB для STM32
linuxbergi
сообщение Aug 4 2017, 06:59
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 15-05-17
Пользователь №: 97 085



Работаю над собственным драйвером для USB в STM32 , что-то мало материала. 99 % как скомпилировать готовый пример. Кто занимался аналогичной задачей? В принципе значительная часть уже сделана.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Шаманъ
сообщение Aug 5 2017, 11:05
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(linuxbergi @ Aug 4 2017, 09:59) *
Работаю над собственным драйвером для USB в STM32 , что-то мало материала. 99 % как скомпилировать готовый пример. Кто занимался аналогичной задачей? В принципе значительная часть уже сделана.

Если под драйвером понимать то, что в МК обеспечивает работу USB интерфейса, то у меня написано свое под STM32 (назовем USB стек+некая HAL прослойка, хотя с платформонезависимостью я особо не заморачивался). А в чем собственно вопрос?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 5 2017, 13:01
Сообщение #3


Ally
******

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



Цитата(Шаманъ @ Aug 5 2017, 14:05) *
Если под драйвером понимать то, что в МК обеспечивает работу USB интерфейса, то у меня написано свое под STM32 (назовем USB стек+некая HAL прослойка, хотя с платформонезависимостью я особо не заморачивался). А в чем собственно вопрос?

Ну так автор наверно хочет узнать что же входит или должно входить в состав "своего"
Расскажите что у вас там "своё".
Хост или дивайс вы сделали, или может OTG?
Покажите список вызовов вашего API между аппаратурой и фреймворком. Это ж не секретно?
А также между фреймворком и классами.
Или если нет у вас такого деления на уровни, то расскажите почему.
Покажите список классов которые вы реализовали.
Покажите как сделан адаптер к RTOS, как реентерабельность обеспечена и т.д. и т.п.


Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 5 2017, 13:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(AlexandrY @ Aug 5 2017, 19:01) *
Покажите...

Нате, глумитесь.

Прикрепленные файлы
Прикрепленный файл  stm32_usbd.rar ( 1.29 килобайт ) Кол-во скачиваний: 79
 


--------------------
Go to the top of the page
 
+Quote Post
linuxbergi
сообщение Aug 7 2017, 17:51
Сообщение #5





Группа: Участник
Сообщений: 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 для следующей транзакции от хоста и т.д.



Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 14:52
Рейтинг@Mail.ru


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