[ON] Опубликован открытый USB-стек TinyUSB 0.19

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Опубликован открытый USB-стек TinyUSB 0.19

Сообщение rssbot »

Доступен выпуск проекта TinyUSB 0.19, развивающего кроссплатформенный USB-стек для встраиваемых систем. Предоставляются компоненты USB-стека для USB-хостов (USB Host) и для подключаемых устройств (USB Device). Код проекта написан на языке Си и распространяется под лицензией MIT.


Для повышения безопасности в TinyUSB не применяются операции динамического выделения памяти. Поддерживается использование в многопоточных приложениях. Для безопасной многопоточной работы все события, связанные с возникновением прерываний, не обрабатываются сразу при поступлении ISR (Interrupt Service Request), а помещаются в очередь, которая разбирается и обрабатывается в контексте выполнения приложения, а не обработчика прерываний. При доступе к совместно используемым ресурсам, таким как FIFO CDC (Communication Device Class), применяются семафоры и мьютексы.


Стек абстрагирован от операционной системы и может использоваться как самодостаточный компонент, не привязанных к функциональности операционных систем. При этом доступны модули для интеграции TinyUSB с ОС FreeRTOS, RT-Thread и Apache Mynewt. Поддерживаются возможности снижения энергопотребления, такие как переход в спящий режим и пробуждение при появлении активности. Имеется начальная реализация протокола PD 3.0 (Power Delivery) для управления передачей электроэнергии через USB Type-C.

Изображение

TinyUSB позволяет добавлять поддержку собственных классов USB-устройств и хостов без модификации USB-стека. Среди уже поддерживаемых в TinyUSB классов устройств:
  • UAC2 - Audio Class 2.0;
  • BTH HCI - Bluetooth Host Controller Interface;
  • CDC - Communication Device Class;
  • DFU - Device Firmware Update;
  • HID - Human Interface Device (клавиатура, мышь, геймпад);
  • MSC - Mass Storage Class (включая накопители с несколькими логическими устройствами);
  • MIDI - Musical Instrument Digital Interface;
  • MTP/PTP - Media Transfer Protocol;
  • RNDIS, ECM (Ethernet Control Model) и NCM (Network Control Model) - сетевое взаимодействие через USB;
  • USBTMC - Test and Measurement Class;
  • UVC - Video class 1.5;
  • WebUSB.
Поддерживаемые классы USB-хостов:
  • HID - Human Interface Device;
  • MSC - Mass Storage Class;
  • CDC-ACM - Communication Device Class;
  • FTDI, CP210x, CH34x, PL2303 - проброс последовательного порт поверх USB;
  • USB Hub.

В новом выпуске расширен API для устройств и хостов. В реализации USB-хоста появилась поддержка устройств с несколькими конфигурациями. Добавлена поддержка микроконтроллеров и плат:
  • ESP32-H4, ESP32-C5, ESP32-C61;
  • STM32U0, STM32WBA, STM32N6;
  • AT32F405, AT32F403A, AT32F415, AT32F423;
  • CH32V305 и CH32V20x (USB host);
  • MCXA156 SDK 2.16 и FRDM-MCXA156.

[/list]






Источник: https://www.opennet.ru/opennews/art.shtml?num=64005
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 06.10.2025 10:49, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали: