K dispozícii je Sound Open Firmware 2.0, sada otvoreného firmvéru pre čipy DSP

Bolo zverejnené vydanie projektu Sound Open Firmware 2.0 (SOF), ktorý pôvodne vytvorila spoločnosť Intel, aby sa vzdialil od praxe dodávania uzavretého firmvéru pre čipy DSP súvisiace so spracovaním zvuku. Projekt bol následne presunutý pod krídla Linux Foundation a teraz je vyvíjaný so zapojením komunity a za účasti AMD, Google a NXP. Projekt vyvíja SDK na zjednodušenie vývoja firmvéru, zvukový ovládač pre linuxové jadro a sadu hotového firmvéru pre rôzne DSP čipy, pre ktoré sa generujú aj binárne zostavy certifikované digitálnym podpisom. Firmvérový kód je napísaný v jazyku C s montážnymi vložkami a je distribuovaný pod licenciou BSD.

Vďaka svojej modulárnej štruktúre môže byť Sound Open Firmware portovaný na rôzne DSP architektúry a hardvérové ​​platformy. Medzi podporované platformy patrí napríklad podpora rôznych čipov Intel (Broadwell, Icelake, Tigerlake, Alderlake atď.), Mediatek (mt8195), NXP (i.MX8*) a AMD (Renoir) vybavené DSP na báze Xtensa HiFi architektúry sa uvádza 2, 3 a 4. Počas procesu vývoja je možné použiť špeciálny emulátor alebo QEMU. Použitie otvoreného firmvéru pre DSP vám umožňuje rýchlejšie opraviť a diagnostikovať problémy vo firmvéri a tiež dáva používateľom možnosť nezávisle prispôsobiť firmvér svojim potrebám, vykonávať špecifické optimalizácie a vytvárať ľahké verzie firmvéru, ktoré obsahujú iba funkcie potrebné pre produkt.

Projekt poskytuje rámec pre vývoj, optimalizáciu a testovanie riešení týkajúcich sa spracovania zvuku, ako aj vytváranie ovládačov a programov pre interakciu s DSP. Kompozícia zahŕňa implementácie firmvéru, nástroje na testovanie firmvéru, nástroje na konverziu súborov ELF na obrazy firmvéru vhodné na inštaláciu do zariadenia, nástroje na ladenie, emulátor DSP, emulátor hostiteľskej platformy (založený na QEMU), nástroje na sledovanie firmvéru, skripty pre MATLAB /Octave pre jemné doladenie koeficientov pre audio komponenty, aplikácie na organizovanie interakcie a výmenu dát s firmvérom, hotové príklady topológií spracovania zvuku.

K dispozícii je Sound Open Firmware 2.0, sada otvoreného firmvéru pre čipy DSP
K dispozícii je Sound Open Firmware 2.0, sada otvoreného firmvéru pre čipy DSP

Projekt tiež vyvíja univerzálny ovládač, ktorý možno použiť so zariadeniami s firmvérom založeným na Sound Open Firmware. Ovládač je už zahrnutý v hlavnom linuxovom jadre počnúc vydaním 5.2 a je dodávaný pod dvojitou licenciou – BSD a GPLv2. Ovládač je zodpovedný za načítanie firmvéru do pamäte DSP, načítanie audio topológií do DSP, organizáciu prevádzky audio zariadenia (zodpovedného za prístup k funkciám DSP z aplikácií) a poskytovanie aplikačných prístupových bodov k audio dátam. Ovládač tiež poskytuje mechanizmus IPC na komunikáciu medzi hostiteľským systémom a DSP a vrstvu na prístup k hardvérovým schopnostiam DSP prostredníctvom generického API. Pre aplikácie vyzerá DSP so Sound Open Firmware ako bežné zariadenie ALSA, ktoré možno ovládať pomocou štandardného softvérového rozhrania.

K dispozícii je Sound Open Firmware 2.0, sada otvoreného firmvéru pre čipy DSP

Kľúčové inovácie v Sound Open Firmware 2.0:

  • Výrazne sa zlepšil výkon funkcií kopírovania zvuku a znížil sa počet prístupov do pamäte. Niektoré scenáre spracovania zvuku zaznamenali zníženie záťaže až o 40 % pri zachovaní rovnakej kvality zvuku.
  • Stabilita na viacjadrových platformách Intel (cAVS) bola vylepšená, vrátane podpory spúšťania obslužných programov na akomkoľvek jadre DSP.
  • Pre platformu Apollo Lake (APL) je ako základ firmvéru namiesto XTOS použité prostredie Zephyr RTOS. Úrovne integrácie systému Zephyr OS dosiahli rovnakú funkčnosť pre vybrané platformy Intel. Používanie Zephyr môže výrazne zjednodušiť a zredukovať kód aplikácií Sound Open Firmware.
  • Schopnosť používať protokol IPC4 bola implementovaná pre základnú podporu pre snímanie a prehrávanie zvuku na niektorých zariadeniach Tiger Lake (TGL) so systémom Windows (podpora IPC4 umožňuje interakciu s DSP založenými na Sound Open Firmware zo systému Windows bez použitia špecifického ovládača) .

Zdroj: opennet.ru

Pridať komentár