Tersedia Sound Open Firmware 2.2, satu set firmware terbuka untuk chip DSP

Rilis proyek Sound Open Firmware 2.2 (SOF) telah diterbitkan, awalnya dibuat oleh Intel untuk menjauh dari praktik pengiriman firmware tertutup untuk chip DSP yang terkait dengan pemrosesan audio. Proyek ini kemudian dialihkan di bawah naungan Linux Foundation dan sekarang sedang dikembangkan dengan keterlibatan komunitas dan dengan partisipasi AMD, Google dan NXP. Proyek ini mengembangkan SDK untuk menyederhanakan pengembangan firmware, driver suara untuk kernel Linux dan satu set firmware siap pakai untuk berbagai chip DSP, yang juga menghasilkan rakitan biner yang disertifikasi dengan tanda tangan digital. Kode firmware ditulis dalam bahasa C dengan sisipan perakitan 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.

Tersedia Sound Open Firmware 2.2, satu set firmware terbuka untuk chip DSP
Tersedia Sound Open Firmware 2.2, satu set firmware terbuka untuk chip DSP

Proyek ini juga mengembangkan driver universal yang dapat digunakan dengan perangkat yang menggunakan firmware berdasarkan Sound Open Firmware. Driver sudah disertakan dalam kernel Linux utama, dimulai dengan rilis 5.2, dan berada di bawah lisensi ganda - BSD dan GPLv2. Pengemudi 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 jalur akses aplikasi ke data audio. Driver juga menyediakan mekanisme IPC untuk komunikasi antara sistem host dan DSP, dan lapisan untuk mengakses kemampuan perangkat keras DSP melalui API generik. Untuk aplikasi, DSP dengan Sound Open Firmware tampak seperti perangkat ALSA biasa, yang dapat dikontrol menggunakan antarmuka perangkat lunak standar.

Tersedia Sound Open Firmware 2.2, satu set firmware terbuka untuk chip DSP

Inovasi utama dalam Sound Open Firmware 2.2:

  • Komponen untuk bekerja dengan pustaka codec eksternal telah diubah namanya dari codec_adapter menjadi module_adapter dan sejalan dengan API modul pemrosesan sinyal, yang memungkinkan Anda menggunakan kode dari penangan Windows tanpa mengubahnya.
  • Frag API sudah tidak digunakan lagi dan telah meningkatkan kinerja setiap komponen sekitar 1 MCPS (juta siklus per detik).
  • Menambahkan Frame API, yang melakukan penghitungan maju ukuran blok untuk penangan berdasarkan instruksi SIMD dan non-SIMD. Optimalisasi memungkinkan peningkatan produktivitas sekitar 0.25 MCPS.
  • Menambahkan modul mixer baru dengan dukungan HiFi4 untuk mengurangi atau menambah jumlah saluran audio dalam streaming.
  • Kemungkinan penggunaan Zephyr RTOS sebagai pengganti XTOS sebagai dasar firmware untuk lingkungan telah diperluas. Menggunakan Zephyr dapat menyederhanakan dan mengurangi kode aplikasi Sound Open Firmware secara signifikan. Versi baru ini menambahkan dukungan untuk API Zephyr asli untuk mencatat dan menyebabkan penundaan. Dukungan asli penuh untuk Zephyr diharapkan pada rilis berikutnya.
  • Kemampuan untuk menggunakan protokol IPC4 untuk menangkap dan memutar suara pada perangkat yang menjalankan Windows telah diperluas (dukungan IPC4 memungkinkan Windows untuk berinteraksi dengan DSP berdasarkan Sound Open Firmware tanpa menggunakan driver tertentu).

Sumber: opennet.ru

Tambah komentar