Ë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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster