Proyek Sound Open Firmware 2.0 (SOF), yang awalnya dibuat oleh Intel untuk beralih dari praktik penyediaan firmware berpemilik untuk chip DSP yang terkait dengan pemrosesan audio, telah dirilis. Proyek ini kemudian dialihkan di bawah naungan organisasi tersebut. Linux Saat ini, proyek ini sedang dikembangkan dengan melibatkan komunitas dan partisipasi dari AMD, Google, dan NXP. Proyek ini sedang mengembangkan SDK untuk menyederhanakan pengembangan firmware dan driver suara untuk kernel. Linux dan seperangkat firmware siap pakai untuk berbagai chip DSP, termasuk kode biner yang ditandatangani secara digital. Kode firmware ditulis dalam bahasa C dengan sisipan kode assembly dan didistribusikan di bawah lisensi BSD.
Berkat struktur modularnya, Sound Open Firmware dapat di-porting ke berbagai arsitektur DSP dan platform perangkat keras. Misalnya, di antara platform yang didukung, dukungan untuk berbagai chip Intel (Broadwell, Icelake, Tigerlake, Alderlake, dll.), Mediatek (mt8195), NXP (i.MX8*) dan AMD (Renoir) yang dilengkapi dengan DSP berbasis Xtensa HiFi arsitektur dinyatakan 2, 3 dan 4. Selama proses pengembangan, emulator khusus atau QEMU dapat digunakan. Penggunaan firmware terbuka untuk DSP memungkinkan Anda memperbaiki dan mendiagnosis masalah pada firmware dengan lebih cepat, dan juga memberi pengguna kesempatan untuk menyesuaikan firmware secara mandiri dengan kebutuhan mereka, melakukan pengoptimalan khusus, dan membuat versi firmware ringan yang hanya berisi fungsionalitas yang diperlukan untuk produk.
Proyek ini menyediakan kerangka kerja untuk mengembangkan, mengoptimalkan dan menguji solusi yang berkaitan dengan pemrosesan audio, serta membuat driver dan program untuk berinteraksi dengan DSP. Komposisinya mencakup implementasi firmware, alat untuk menguji firmware, utilitas untuk mengonversi file ELF menjadi gambar firmware yang sesuai untuk instalasi pada peralatan, alat debugging, emulator DSP, emulator platform host (berdasarkan QEMU), alat untuk melacak firmware, skrip untuk MATLAB /Oktaf untuk menyempurnakan koefisien komponen audio, aplikasi untuk mengatur interaksi dan pertukaran data dengan firmware, contoh topologi pemrosesan audio yang sudah jadi.


Proyek ini juga sedang mengembangkan driver universal yang dapat digunakan dengan perangkat yang menjalankan firmware berbasis Sound Open Firmware. Driver tersebut sudah termasuk dalam kernel utama. LinuxDimulai dengan rilis 5.2, dan didistribusikan di bawah lisensi ganda—BSD dan GPLv2. Driver bertanggung jawab untuk memuat firmware ke dalam memori DSP, memuat topologi audio ke dalam DSP, mengatur pengoperasian perangkat audio (bertanggung jawab untuk mengakses fungsi DSP dari aplikasi), dan menyediakan titik akses aplikasi ke data audio. Driver juga menyediakan mekanisme IPC untuk interaksi antara sistem host dan DSP, dan lapisan untuk mengakses kemampuan perangkat keras DSP melalui API standar. DSP dengan Sound Open Firmware tampak bagi aplikasi sebagai perangkat ALSA biasa, yang dapat dikontrol menggunakan antarmuka perangkat lunak standar.

Inovasi utama dalam Sound Open Firmware 2.0:
- Performa fungsi penyalinan audio telah ditingkatkan secara signifikan dan jumlah akses memori telah dikurangi. Beberapa skenario pemrosesan audio mengalami pengurangan beban hingga 40% dengan tetap mempertahankan kualitas audio yang sama.
- Stabilitas pada platform Intel multi-core (cAVS) telah ditingkatkan, termasuk dukungan untuk menjalankan pengendali pada inti DSP apa pun.
- Untuk platform Apollo Lake (APL), lingkungan Zephyr RTOS digunakan sebagai dasar firmware, bukan XTOS. Tingkat integrasi Zephyr OS telah mencapai keseimbangan fungsionalitas untuk platform Intel tertentu. Menggunakan Zephyr dapat menyederhanakan dan mengurangi kode aplikasi Sound Open Firmware secara signifikan.
- Реализована возможность использования протокола IPC4 для базовой поддержки захвата и воспроизведения звука на некоторых устройствах Tiger Lake (TGL) с ОС Windows (Dukungan IPC4 memungkinkan) Windows berinteraksi dengan DSP berdasarkan Sound Open Firmware tanpa menggunakan driver khusus).
Sumber: opennet.ru
