Ukukhutshwa kweprojekthi ye-Sound Open Firmware 2.2 (SOF) ishicilelwe, eyadalwa kuqala yi-Intel ukuba ihambe kude nenkqubo yokuhambisa i-firmware evaliweyo yee-chips ze-DSP ezinxulumene nokusebenza komsindo. Le projekthi yakhutshelwa emva koko phantsi kwephiko le-Linux Foundation kwaye ngoku iyaphuhliswa ngokubandakanyeka koluntu kunye nokuthatha inxaxheba kwe-AMD, Google kunye ne-NXP. Iprojekthi iphuhlisa i-SDK ukwenza lula uphuhliso lwe-firmware, umqhubi wesandi we-Linux kernel kunye neseti ye-firmware esele yenziwe kwiitshiphusi ezahlukeneyo ze-DSP, apho iindibano zebinary nazo zenziwa, ziqinisekiswe ngumsayino wedijithali. Ikhowudi ye-firmware ibhalwe ngolwimi lwe-C kunye nokufakwa kwendibano kwaye isasazwe phantsi kwelayisensi ye-BSD.
Ngombulelo kwimodyuli yayo, i-Sound Open Firmware inokuthuthwa kwiindlela ezahlukeneyo ze-DSP kunye neeplatifti ze-hardware. Ngokomzekelo, phakathi kwamaqonga axhaswayo, inkxaso ye-Intel chips ezahlukeneyo (i-Broadwell, i-Icelake, i-Tigerlake, i-Alderlake, njl.), i-Mediatek (mt8195), i-NXP (i.MX8 *) kunye ne-AMD (Renoir) exhotyiswe nge-DSPs esekelwe kwi-Xtensa HiFi. i-architectures ichazwe 2, 3 kunye ne-4. Ngethuba lenkqubo yophuhliso, i-emulator ekhethekileyo okanye i-QEMU ingasetyenziswa. Ukusetyenziswa kwe-firmware evulekileyo ye-DSP ikuvumela ukuba ulungise ngokukhawuleza kwaye uchonge iingxaki kwi-firmware, kwaye inika abasebenzisi ithuba lokuzimela ngokuzimeleyo i-firmware kwiimfuno zabo, benze ukulungiswa okuthe ngqo kunye nokudala iinguqulelo ze-firmware ezilula eziqulethe kuphela ukusebenza okuyimfuneko imveliso.
Le projekthi ibonelela ngesakhelo sokuphuhlisa, ukulungelelanisa kunye nokuvavanya izisombululo ezinxulumene nokusebenza komsindo, kunye nokudala abaqhubi kunye neenkqubo zokusebenzisana ne-DSP. Ukubunjwa kubandakanya ukuphunyezwa kwe-firmware, izixhobo zokuvavanya i-firmware, izixhobo zokuguqula iifayile ze-ELF kwimifanekiso ye-firmware efanelekileyo ukufakwa kwizixhobo, izixhobo zokulungisa izixhobo, i-emulator ye-DSP, i-emulator yesikhulumi se-host (esekelwe kwi-QEMU), izixhobo zokulandelela i-firmware, izikripthi zeMATLAB /I-Octave yokulungelelanisa kakuhle i-coefficients yamacandelo e-audio, izicelo zokuququzelela intsebenziswano kunye notshintshiselwano lwedatha kunye ne-firmware, imizekelo esele yenziwe ye-topology processing audio.
Le projekthi ikwaphuhlisa umqhubi wendalo yonke onokusetyenziswa kunye nezixhobo ezisebenzisa i-firmware esekwe kwi-Sound Open Firmware. Umqhubi sele ebandakanyiwe kwi-Linux kernel ephambili, eqala ngokukhululwa kwe-5.2, kwaye iza phantsi kwelayisenisi ezimbini-i-BSD kunye ne-GPLv2. Umqhubi unoxanduva lokulayisha i-firmware kwimemori ye-DSP, ukulayisha i-topology yomsindo kwi-DSP, ukulungelelanisa ukusebenza kwesixhobo somsindo (uxanduva lokufikelela kwimisebenzi ye-DSP kwizicelo), kunye nokubonelela ngeendawo zokufikelela kwisicelo kwidatha yomsindo. Umqhubi ukwabonelela ngendlela ye-IPC yonxibelelwano phakathi kwenkqubo yokusingatha kunye ne-DSP, kunye noluhlu lokufikelela kwi-hardware ye-DSP nge-API eqhelekileyo. Kwizicelo, i-DSP ene-Sound Open Firmware ibonakala njengesixhobo esiqhelekileyo se-ALSA, esinokulawulwa kusetyenziswa ujongano oluqhelekileyo lwesoftware.
Izinto ezintsha eziphambili kwi-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 Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°).
umthombo: opennet.ru