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

|
Работаю над собственным драйвером для USB в STM32 , что-то мало материала. 99 % как скомпилировать готовый пример. Кто занимался аналогичной задачей? В принципе значительная часть уже сделана.
|
|
|
|
|
Aug 4 2017, 10:17
|
Частый гость
 
Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205

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

Гуру
     
Группа: Свой
Сообщений: 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. Это те, с которыми работал.
--------------------
|
|
|
|
|
Aug 4 2017, 12:12
|

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

|
Цитата(prottoss @ Aug 4 2017, 15:00)  Под стеком, исторически, подразумевается оболочка и API к ней, которая знать не знает, на каком МК она выполняется. Все что ниже - драйвер. Не, драйвер эта такая штука которая управляется менеджером драйверов и может быть динамически привязана и отвязана от процесса. Т.е. физически набор функций со строго единообразным верхним интерфейсом для любой периферии. У Keil-а отродясь такого не было. Не все RTOS такое имеют. Потому как в embedded это излишне, там нет нужды динамически менять и управлять драйверами. А потому автор должен был написать по простому какой набор функций он хочет реализовать, а не туманить насчет драйвера. Эти функции там на пальцах пересчитать можно.
|
|
|
|
|
Aug 4 2017, 18:35
|

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, которое сам забудет через месяц.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|