Ukukhishwa kwephrojekthi ye-Sound Open Firmware 2.2 (SOF) kushicilelwe, ekuqaleni eyadalwa yi-Intel ukuze isuke kumkhuba wokuletha i-firmware evaliwe yama-chip e-DSP ahlobene nokucutshungulwa komsindo. Le phrojekthi yabe isidluliswa ngaphansi kophiko lwe-Linux Foundation futhi manje iyathuthukiswa ngokubandakanyeka komphakathi kanye nokubamba iqhaza kwe-AMD, Google kanye ne-NXP. Le phrojekthi ithuthukisa i-SDK yokwenza lula ukuthuthukiswa kwe-firmware, isishayeli somsindo se-Linux kernel kanye nesethi ye-firmware eseyenziwe ngomumo yama-chips ahlukahlukene e-DSP, lapho imihlangano kanambambili ibuye yenziwe, iqinisekiswe isiginesha yedijithali. Ikhodi ye-firmware ibhalwe ngolimi C ngokufakwa komhlangano futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD.
Ngenxa yesakhiwo sayo se-modular, I-Sound Open Firmware ingathuthwa ezakhiweni ezihlukahlukene ze-DSP nezinkundla zehadiwe. Isibonelo, phakathi kwamapulatifomu asekelwayo, ukusekelwa kwama-Intel chips ahlukahlukene (i-Broadwell, i-Icelake, i-Tigerlake, i-Alderlake, njll.), i-Mediatek (mt8195), i-NXP (i.MX8*) ne-AMD (Renoir) ifakwe ama-DSP asekelwe ku-Xtensa HiFi. izakhiwo kushiwo 2, 3 kanye 4. Ngesikhathi senqubo yokuthuthukiswa, i-emulator ekhethekile noma i-QEMU ingasetshenziswa. Ukusetshenziswa kwe-firmware evulekile ye-DSP kukuvumela ukuthi ulungise ngokushesha futhi uhlole izinkinga ku-firmware, futhi futhi kunikeza abasebenzisi ithuba lokuzivumelanisa ngokuzimela i-firmware nezidingo zabo, benze ukulungiselelwa okuthile futhi udale izinguqulo ze-firmware ezingasindi eziqukethe kuphela ukusebenza okudingekayo umkhiqizo.
Le phrojekthi inikeza uhlaka lokuthuthukisa, ukwenza kahle kanye nokuhlola izixazululo ezihlobene nokucutshungulwa komsindo, kanye nokudala abashayeli nezinhlelo zokusebenzisana ne-DSP. Ukwakheka kufaka phakathi ukuqaliswa kwe-firmware, amathuluzi okuhlola i-firmware, izinsiza zokuguqula amafayela e-ELF abe izithombe ze-firmware ezifanele ukufakwa kumishini, amathuluzi okulungisa iphutha, i-emulator ye-DSP, i-emulator yesikhulumi somsingathi (okusekelwe ku-QEMU), amathuluzi okulandelela i-firmware, imibhalo ye-MATLAB. /I-Octave yokuhlela kahle ama-coefficient ezingxenyeni zomsindo, izinhlelo zokusebenza zokuhlela ukusebenzelana nokushintshisana kwedatha nge-firmware, izibonelo esezilungile zezihloko zokucubungula umsindo.
Le phrojekthi futhi ithuthukisa umshayeli wendawo yonke ongasetshenziswa namadivayisi asebenzisa i-firmware esekelwe ku-Sound Open Firmware. Umshayeli usevele efakiwe ku-Linux kernel eyinhloko, eqala ngokukhululwa kwe-5.2, futhi iza ngaphansi kwelayisense elikabili - i-BSD ne-GPLv2. Umshayeli unomthwalo wemfanelo wokulayisha i-firmware kumemori ye-DSP, ukulayisha ama-topology omsindo ku-DSP, ukuhlela ukusebenza kwedivayisi yomsindo (enomthwalo wokufinyelela imisebenzi ye-DSP evela ezinhlelweni zokusebenza), kanye nokuhlinzeka ngezindawo zokufinyelela zohlelo kudatha yomsindo. Umshayeli futhi uhlinzeka ngendlela ye-IPC yokuxhumana phakathi kwesistimu yokusingatha kanye ne-DSP, kanye nesendlalelo sokufinyelela amakhono ezingxenyekazi zekhompiyutha ye-DSP nge-API ejwayelekile. Kuzinhlelo zokusebenza, i-DSP ene-Sound Open Firmware ibukeka njengedivayisi evamile ye-ALSA, engalawulwa kusetshenziswa isixhumi esibonakalayo sesofthiwe esijwayelekile.
Okuqanjwe kabusha okubalulekile ku-Sound Open Firmware 2.2:
- ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ ΠΈΠ· codec_adapter Π² module_adapter ΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ API ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· Windows-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±Π΅Π· Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
- ΠΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ API Frag, ΠΎΡΠΊΠ°Π· ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 1 MCPS (ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΠ°ΠΊΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ API Frame, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SIMD ΠΈ Π±Π΅Π· Π½ΠΈΡ . ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 0.25 MCPS.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ HiFi4 Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² ΠΏΠΎΡΠΎΠΊΠ΅.
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Zephyr RTOS Π²ΠΌΠ΅ΡΡΠΎ XTOS. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Zephyr ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Sound Open Firmware. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ΄Π½ΡΡ Π΄Π»Ρ Zephyr API Π΄Π»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Zephyr.
- Π Π°ΡΡΠΈΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPC4 Π΄Π»Ρ Π·Π°Ρ Π²Π°ΡΠ° ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Ρ ΠΠ‘ Windows (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IPC4 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ· Windows Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ DSP Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ Sound Open Firmware Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°).
Source: opennet.ru