Bol zverejnený otvorený USB stack TinyUSB 0.19

K dispozícii je verzia projektu TinyUSB 0.19, ktorá rozvíja multiplatformový USB stack pre vstavané systémy. Poskytuje komponenty USB stacku pre USB hostiteľov (USB Host) a pre pripojiteľné zariadenia (USB Device). Kód projektu je napísaný v jazyku C a je distribuovaný pod licenciou MIT.

Pre zvýšenie bezpečnosti sa v TinyUSB nepoužívajú operácie dynamického alokovania pamäte. Podporuje sa jeho použitie v multithreadových aplikáciách. Pre bezpečnú prácu s viacerými vláknami sa všetky udalosti súvisiace s prerušením nezpracúvajú okamžite po príchode ISR (Interrupt Service Request), ale sú umiestnené do fronty, ktorá sa spracováva v kontexte vykonávania aplikácie, nie spracovateľa prerušenia. Pri prístupe k zdieľaným zdrojom, ako je FIFO CDC (Communication Device Class), sa používajú semafory a mutexy.

Stack je abstrahovaný od operačného systému a môže sa používať ako samostatná komponenta, nesúvisiaca s funkčnosťou operačných systémov. K dispozícii sú moduly na integráciu TinyUSB s OS FreeRTOS, RT-Thread a Apache Mynewt. Podporuje sa aj možnosť zníženia spotreby energie, ako je prechod do spánkového režimu a prebudenie pri aktivite. Existuje základná implementácia protokolu PD 3.0 (Power Delivery) na riadenie prenosu elektrickej energie cez USB Type-C.

Bol zverejnený otvorený USB stack TinyUSB 0.19

TinyUSB umožňuje pridávať podporu pre vlastné triedy USB zariadení a hostiteľov bez úpravy USB stacku. Medzi už podporovanými triedami zariadení v TinyUSB sú:

  • UAC2 — Audio Class 2.0;
  • BTH HCI — Bluetooth Host Controller Interface;
  • CDC — Communication Device Class;
  • DFU — Device Firmware Update;
  • HID — Human Interface Device (klávesnica, myš, herný ovládač);
  • MSC — Mass Storage Class (vrátane úložných zariadení s viacerými logickými zariadeniami);
  • MIDI — Musical Instrument Digital Interface;
  • MTP/PTP — Media Transfer Protocol;
  • RNDIS, ECM (Ethernet Control Model) a NCM (Network Control Model) — sieťová interakcia cez USB;
  • USBTMC — Test and Measurement Class;
  • UVC — Video class 1.5;
  • WebUSB.

Podporované triedy USB hostiteľov:

  • HID — Human Interface Device;
  • MSC — Mass Storage Class;
  • CDC-ACM — Communication Device Class;
  • FTDI, CP210x, CH34x, PL2303 — prenos sériového portu cez USB;
  • USB Hub.

V novej verzii bol rozšírený API pre zariadenia a hostiteľov. V implementácii USB hostiteľa pribudla podpora zariadení s viacerými konfiguráciami. Pridaná podpora pre mikrokontroléry a dosky:

  • 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

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster