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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Своя программная обёртка 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
jcxz
сообщение Aug 4 2017, 07:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



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

Что имеется в виду под "драйвером USB"? Виндовый драйвер для своего USB-девайса?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 4 2017, 08:59
Сообщение #3


Ally
******

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



Цитата(jcxz @ Aug 4 2017, 10:02) *
Что имеется в виду под "драйвером USB"? Виндовый драйвер для своего USB-девайса?

Наверно скорее под линух. biggrin.gif
Виндовый работает идеально.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Aug 4 2017, 09:48
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Мне понятно, что имеется в виду драйвер в микроконтроллере. (Ни под что sm.gif )
Понимаю и поддерживаю желание топикстартера. Но помочь, увы, не могу.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Aug 4 2017, 10:00
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Тема пообщаться или о чем? sm.gif
Go to the top of the page
 
+Quote Post
Эдди
сообщение Aug 4 2017, 10:10
Сообщение #6


Знающий
****

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



А в чем проблема? Через libudev + libusb все решается. Главное — чтобы systemd чертового не было на компьютере, а то поцтеринг та еще свинья, спокойно может очередную гадость подкинуть.
Go to the top of the page
 
+Quote Post
LightElf
сообщение Aug 4 2017, 10:17
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



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

Чем не устраивает кейловский пример?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 4 2017, 10:41
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ViKo @ Aug 4 2017, 12:48) *
Мне понятно, что имеется в виду драйвер в микроконтроллере. (Ни под что sm.gif )

То, что находится в МК в этом случае, принято называть "стеком". Так исторически сложилось laughing.gif
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 4 2017, 10:41
Сообщение #9


Гуру
******

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



Цитата(linuxbergi @ Aug 4 2017, 12:59) *
Работаю над собственным драйвером для USB в STM32 , что-то мало материала. 99 % как скомпилировать готовый пример. Кто занимался аналогичной задачей? В принципе значительная часть уже сделана.
Я занимался. Достаточно долгое время.
В итоге есть платформонезависимая библиотека. К ней подключаются файлы драйверов для различных МК. Один файл - один модуль и один заголовок.
Сейчас есть драйверы для AVR XMEGA, AT91, STM32 USB, STM32 OTG.
STM32 OTG дался труднее всех. Есть некоторые отличительные нюансы, к примеру, для F107, F407 и L4xx в плане инициализации Device Core. Это те, с которыми работал.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Aug 4 2017, 11:24
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(jcxz @ Aug 4 2017, 13:41) *
То, что находится в МК в этом случае, принято называть "стеком". Так исторически сложилось laughing.gif

Сам Ка(е)йл называл такие вещи драйверами, еще и макроопределение ввел STDPERIPH_DRIVER.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 4 2017, 12:00
Сообщение #11


Гуру
******

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



Цитата(jcxz @ Aug 4 2017, 16:41) *
То, что находится в МК в этом случае, принято называть "стеком". Так исторически сложилось laughing.gif
Под стеком, исторически, подразумевается оболочка и API к ней, которая знать не знает, на каком МК она выполняется. Все что ниже - драйвер.


--------------------
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 4 2017, 12:12
Сообщение #12


Ally
******

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



Цитата(prottoss @ Aug 4 2017, 15:00) *
Под стеком, исторически, подразумевается оболочка и API к ней, которая знать не знает, на каком МК она выполняется. Все что ниже - драйвер.

Не, драйвер эта такая штука которая управляется менеджером драйверов и может быть динамически привязана и отвязана от процесса.
Т.е. физически набор функций со строго единообразным верхним интерфейсом для любой периферии.
У Keil-а отродясь такого не было.
Не все RTOS такое имеют.
Потому как в embedded это излишне, там нет нужды динамически менять и управлять драйверами.
А потому автор должен был написать по простому какой набор функций он хочет реализовать, а не туманить насчет драйвера. Эти функции там на пальцах пересчитать можно.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 4 2017, 12:30
Сообщение #13


Гуру
******

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



Цитата(AlexandrY @ Aug 4 2017, 18:12) *
Не...
lwIP что по Вашему? Или FatFS?

Цитата(AlexandrY @ Aug 4 2017, 18:12) *
драйвер эта такая штука которая управляется менеджером драйверов и может быть динамически привязана и отвязана от процесса.
А на мой взгляд, драйвер это такая штука, которая знает как общаться с железом (или еще с чем то...) и предоставляет процессу (или приложению) уровнем выше более-менее стандартный API.


--------------------
Go to the top of the page
 
+Quote Post
alexunder
сообщение Aug 4 2017, 17:57
Сообщение #14


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(jcxz @ Aug 4 2017, 12:41) *
То, что находится в МК в этом случае, принято называть "стеком". Так исторически сложилось laughing.gif

Обычно это все таки называется библиотекой под МК, хотя иногда и стеком


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 4 2017, 18:35
Сообщение #15


Ally
******

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



Цитата(prottoss @ Aug 4 2017, 15:30) *
lwIP что по Вашему? Или FatFS?

FatFS, насколько знаю, даже с NAND не умеет работать.
А lwIP не умеет с СDC-ECM.
Это просто наборы функций которые кое-как с помощью косвенной адресации могут перенаправлять свои потоки данных.
Но всей подготовкой к перенаправлению юзер должен заниматься вручную.
Или мы сейчас все что взаимодействует через косвенную адресацию будем называть драйверами?

Я даже скажу, что использования термина "драйвер" крайне вредно для TC.
Вместо того чтобы написать всего две специализированные функции read_x и write_x и остальное разрулить прямым доступом к периферии без всякой унификации, он будет сочинять API, которое сам забудет через месяц.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:46
Рейтинг@Mail.ru


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