Është publikuar stek USB i hapur TinyUSB 0.19

Lëshimi i projektit TinyUSB 0.19 është i disponueshëm, duke zhvilluar një stek USB me shumë platforma për sisteme të integruara. Ofrohen komponente të stekut USB për hostet USB (USB Host) dhe për dispozitat që lidhen (USB Device). Kodi i projektit është i shkruar në gjuhën C dhe distribuohet nën licencën MIT.

Për të rritur sigurinë, TinyUSB nuk aplikon operacione dinamik të alokimit të memories. Mbështetet përdorimi në aplikacione me shumëThreads. Për të siguruar një funksionim të sigurt në mjedise me shumëThreads, të gjitha ngjarjet që lidhen me shërbimet e kërkesave të ndërprerjeve (ISR - Interrupt Service Request) nuk përpunohen menjëherë kur arrijnë, por vendosen në një radhë, e cila merret dhe përpunohet në kontekstin e ekzekutimit të aplikacionit, dhe jo të trajtuesit të ndërprerjeve. Kur aksesohet resurse të përbashkëta, si FIFO CDC (Communication Device Class), aplikohet semafora dhe mutex.

Stek u abstrakt nga sistemi operativ dhe mund të përdoret si një komponent i pavarur, pa u lidhur me funksionalitetin e sistemeve operative. Në të njëjtën kohë, modul të integrimit të TinyUSB me sistemet operative FreeRTOS, RT-Thread dhe Apache Mynewt janë të disponueshëm. Mbështetet funksionaliteti për reduktimin e konsumit të energjisë, siç është kalimi në gjumë dhe zgjimi me aktivitetin e shfaqur. Ekziston një implementim fillestar i protokollit PD 3.0 (Power Delivery) për menaxhimin e transmetimit të energjisë përmes USB Type-C.

Është publikuar stek USB i hapur TinyUSB 0.19

TinyUSB lejon shtimin e mbështetjes për klasa të veta të pajisjeve USB dhe hosteve pa modifikimin e stekut USB. Disa nga klasat e pajisjeve që mbështeten tashmë në TinyUSB janë:

  • UAC2 — Klasa Audio 2.0;
  • BTH HCI — Bluetooth Host Controller Interface;
  • CDC — Klasa e Pajisjeve të Komunikimit;
  • DFU — Përditësim i Firmware-t të Pajisjes;
  • HID — Pajisje për Ndërfaqe Njerëzore (tastierë, mouse, gamepad);
  • MSC — Klasa e Ruajtjes së Masivëve (përfshirë ruajtësit me disa pajisje logjike);
  • MIDI — Ndërfaqe digjitale e instrumenteve muzikore;
  • MTP/PTP — Protokolli i Transferit të Mediave;
  • RNDIS, ECM (Ethernet Control Model) dhe NCM (Network Control Model) — ndërveprimi rrjetor përmes USB;
  • USBTMC — Klasa e Testimit dhe Matjeve;
  • UVC — klasa Video 1.5;
  • WebUSB.

Klasat e mbështetura të hosteve USB:

  • HID — Pajisje për Ndërfaqe Njerëzore;
  • MSC — Klasa e Ruajtjes së Masivëve;
  • CDC-ACM — Klasa e Pajisjeve të Komunikimit;
  • FTDI, CP210x, CH34x, PL2303 — kalimi i portit serial mbi USB;
  • USB Hub.

Në versionin e ri, është zgjeruar API për pajisjet dhe hostet. Në implementimin e hostit USB është shtuar mbështetje për pajisje me konfigurime të shumta. Është shtuar mbështetje për mikrocontrollerat dhe platformat:

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

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster