Rilis proyek Sound Open Firmware 2.2 (SOF) wis diterbitake, asline digawe dening Intel supaya adoh saka praktik ngirim perangkat kukuh tertutup kanggo chip DSP sing ana gandhengane karo pangolahan audio. Proyek kasebut banjur ditransfer ing sangisore sayap Yayasan Linux lan saiki dikembangake kanthi keterlibatan komunitas lan partisipasi AMD, Google lan NXP. Proyèk iki ngembangake SDK kanggo nyederhanakake pangembangan perangkat kukuh, driver swara kanggo kernel Linux lan seperangkat perangkat kukuh sing wis siap kanggo macem-macem chip DSP, sing uga digawe rakitan binar, disertifikasi dening tandha digital. Kode perangkat kukuh ditulis ing basa C kanthi sisipan perakitan lan disebarake miturut lisensi BSD.
Thanks kanggo struktur modular, Sound Open Firmware bisa ditransfer menyang macem-macem arsitektur DSP lan platform hardware. Contone, ing antarane platform sing didhukung, dhukungan kanggo macem-macem chip Intel (Broadwell, Icelake, Tigerlake, Alderlake, lsp.), Mediatek (mt8195), NXP (i.MX8*) lan AMD (Renoir) sing dilengkapi DSP adhedhasar Xtensa HiFi. arsitektur nyatakake 2, 3 lan 4. Sajrone proses pembangunan, emulator khusus utawa QEMU bisa digunakake. Panggunaan perangkat kukuh sing mbukak kanggo DSP ngidini sampeyan luwih cepet mbenerake lan diagnosa masalah ing perangkat kukuh, lan uga menehi pangguna kesempatan kanggo ngganti perangkat kukuh kanthi mandiri kanggo kabutuhan, nggawe optimasi khusus lan nggawe versi perangkat kukuh sing entheng sing mung ngemot fungsi sing dibutuhake. produk.
Proyèk iki nyedhiyakake kerangka kanggo ngembangake, ngoptimalake lan nguji solusi sing ana gandhengane karo pangolahan audio, uga nggawe driver lan program kanggo sesambungan karo DSP. Komposisi kasebut kalebu implementasi perangkat kukuh, alat kanggo nguji firmware, utilitas kanggo ngowahi file ELF dadi gambar perangkat kukuh sing cocog kanggo instalasi ing peralatan, alat debugging, emulator DSP, emulator platform host (adhedhasar QEMU), alat kanggo nelusuri firmware, skrip kanggo MATLAB / Oktaf kanggo koefisien fine-tuning kanggo komponen audio, aplikasi kanggo ngatur interaksi lan exchange data karo perangkat kukuh, conto siap-digawe saka topologi Processing audio.
Proyèk iki uga ngembangake driver universal sing bisa digunakake karo piranti nggunakake perangkat kukuh adhedhasar Sound Open Firmware. Driver wis klebu ing kernel Linux utama, miwiti karo release 5.2, lan kasedhiya ing lisensi dual - BSD lan GPLv2. Pembalap tanggung jawab kanggo ngemot perangkat kukuh menyang memori DSP, ngemot topologi audio menyang DSP, ngatur operasi piranti audio (tanggung jawab kanggo ngakses fungsi DSP saka aplikasi), lan nyedhiyakake titik akses aplikasi menyang data audio. Pembalap uga nyedhiyakake mekanisme IPC kanggo komunikasi antarane sistem inang lan DSP, lan lapisan kanggo ngakses kemampuan hardware DSP liwat API umum. Kanggo aplikasi, DSP karo Sound Open Firmware katon kaya piranti ALSA biasa, sing bisa dikontrol nggunakake antarmuka piranti lunak standar.
Inovasi utama ing 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