Byl vydán open-source USB stack TinyUSB 0.19

Byla vydána verze projektu TinyUSB 0.19, která rozvíjí multiplatformní USB zásobník pro vestavěné systémy. Poskytuje komponenty USB zásobníku pro USB hostitele (USB Host) a pro připojená zařízení (USB Device). Kód projektu je napsán v jazyce C a je distribuován pod licencí MIT.

Pro zvýšení bezpečnosti nejsou v TinyUSB používány operace dynamického přidělování paměti. Podporuje se použití v multithreadových aplikacích. Pro bezpečnou práci ve více vláknech se všechny události spojené s přerušením nezkoumají okamžitě při příchozím ISR (Interrupt Service Request), ale jsou umístěny do fronty, která se zpracovává a vyřizuje v kontextu běhu aplikace, nikoliv obsluhy přerušení. Při přístupu k sdíleným prostředkům, jako je FIFO CDC (Communication Device Class), se používají semafory a mutexy.

Zásobník je abstrahován od operačního systému a může být použit jako samostatná komponenta, bez vazby na funkčnost operačních systémů. K dispozici jsou moduly pro integraci TinyUSB s OS FreeRTOS, RT-Thread a Apache Mynewt. Podporují se funkce snižování spotřeby energie, jako přechod do spánkového režimu a probouzení při aktivaci. Existuje počáteční implementace protokolu PD 3.0 (Power Delivery) pro řízení přenosu energie přes USB Type-C.

Byl vydán open-source USB stack TinyUSB 0.19

TinyUSB umožňuje přidávat podporu vlastních tříd USB zařízení a hostitelů bez modifikace USB zásobníku. Mezi již podporované třídy zařízení v TinyUSB patří:

  • UAC2 — Audio Class 2.0;
  • BTH HCI — Bluetooth Host Controller Interface;
  • CDC — Communication Device Class;
  • DFU — Device Firmware Update;
  • HID — Human Interface Device (klávesnice, myš, herní ovladač);
  • MSC — Mass Storage Class (včetně úložišť s více logickými zařízeními);
  • MIDI — Musical Instrument Digital Interface;
  • MTP/PTP — Media Transfer Protocol;
  • RNDIS, ECM (Ethernet Control Model) a NCM (Network Control Model) — síťová interakce přes USB;
  • USBTMC — Test and Measurement Class;
  • UVC — Video class 1.5;
  • WebUSB.

Podporované třídy USB hostitelů:

  • HID — Human Interface Device;
  • MSC — Mass Storage Class;
  • CDC-ACM — Communication Device Class;
  • FTDI, CP210x, CH34x, PL2303 — přesměrování sériového portu přes USB;
  • USB Hub.

V nové verzi byl rozšířen API pro zařízení a hostitele. V implementaci USB hostitele se objevila podpora zařízení s více konfiguracemi. Byla přidána podpora mikrokontrolérů a desek:

  • ESP32-H4, ESP32-C5, ESP32-C61;
  • STM32U0, STM32WBA, STM32N6;
  • AT32F405, AT32F403A, AT32F415, AT32F423;
  • CH32V305 a CH32V20x (USB host);
  • MCXA156 SDK 2.16 a FRDM-MCXA156.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster