tyombutot
|
|
1 | |
Перенос кода USB с stm32f103 на stm32f10729.08.2017, 11:54. Показов 5509. Ответов 2
Метки нет (Все метки)
Добрый день!
Недавно за месяц-другой создал проект работающего композитного USB устройства в связке "CDC - виртуальный СОМ порт" + "Custom HID". Динные по обоим каналам идут туда-сюда без сбоев, потерь и зависаний, все вылизано и отлажено. Проект реализован под контроллер stm32f103, используется IAR в связке со "стандартными" библиотеками от STM: STM32F10x_StdPeriph_Dryver + STM32_USB-FS-Device_Dryver. Возникла идея прошивки его по USB, однако stm32f103 не имеет встроенного DFU по USB, а пин-ту-пин совместимый stm32f107 имеет такой встроенный загрузчик, поэтому реализация его на новом контроллере проблем вызывать не должна. В связи с этим вопрос: можно ли без потерь и танцев с бубном перенести код (USB работающий код, а не моргалку светодиодом!) с stm32f103 на stm32f107, используя уже задействованные библиотеки? Пугают две вещи: - Количество аппаратных endpoints в 103: 7in/out, а в 107: 3in/out. Но вроде должно хватить, т.к. CDC имеет 2in/1out, HID имеет 1in/out. - Для 105/107 контроллера для USB вроде принято использовать "OTG_DEVICE_LIBRARY"? Не хочется опять с нуля разбираться в совершенно другой библиотеке, когда рабочий код есть и он отлажен. В свое время пытался реализовать somposite USB на STM32CubeMX, но без толку, т.к. по отдельности виртуальный СОМ порт работал, а при попытке организовать составное USB устройство с ним он работать тут же переставал. Прошу совета, какие будут подводные камни, на что обратить внимание, вообще стоит ли заморачиваться, или лучше написать самому USB DFU на stm32f103? Но очень хочется работающий код перенести, используя стандартные библиотеки от STM. |
29.08.2017, 11:54 | |
Ответы с готовыми решениями:
2
stm32f107 любимый usb 2 USB on stm32f107 + mass storage STM32F107. Модуль USB не передает данные STM32F107 HOST USB_OTG_MSC запись/чтение на USB флешки, не все распознаются. USB на STM32F103 |
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 1
|
|
29.08.2017, 15:51 | 2 |
ИМХО - проще перенести DFU на F103, чем мегадевайс на F107.
Количество EP на девайсах с OTG - отдельная засада, пару раз реально не хватало хотя бы одной дополнительной EP. Если вам не нужен OTG - останьтесь на F103.
0
|
tyombutot
|
|
29.08.2017, 16:09 | 3 |
Да, решили поднять DFU на f103, тем более есть "стандартный" пример от STM.
|
29.08.2017, 16:09 | |
29.08.2017, 16:09 | |
Помогаю со студенческими работами здесь
3
USB на STM32F103 STM32F103 USB speed stm32f103: cubeMX и USB stm32f103 usb keyboard STM32F103 и MIDI protocol + USB stm32f103 USB изменить endpoint Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
|
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|