インテルがオーディオ処理関連のDSPチップ向けに独自のファームウェアを提供する慣習から脱却するために最初に作成したSound Open Firmware 2.0(SOF)プロジェクトがリリースされました。このプロジェクトはその後、組織の傘下に移管されました。 Linux Foundationは現在、コミュニティの協力とAMD、Google、NXPの参加を得て開発が進められています。このプロジェクトでは、ファームウェア開発を簡素化するSDKとカーネル用のサウンドドライバを開発しています。 Linux また、デジタル署名付きバイナリアセンブリを含む、各種DSPチップ用の既製ファームウェア一式も提供されます。ファームウェアコードはアセンブリ言語の挿入を含むC言語で記述されており、BSDライセンスの下で配布されます。
モジュール構造のおかげで、Sound Open Firmware はさまざまな DSP アーキテクチャやハードウェア プラットフォームに移植できます。 たとえば、サポートされているプラットフォームのうち、Xtensa HiFi ベースの DSP を搭載したさまざまな Intel チップ (Broadwell、Iselake、Tigerlake、Alderlake など)、Mediatek (mt8195)、NXP (i.MX8*)、AMD (Renoir) のサポートアーキテクチャは 2、3、4 に記載されています。開発プロセス中に、特別なエミュレータまたは QEMU を使用できます。 DSP 用のオープン ファームウェアを使用すると、ファームウェアの問題をより迅速に修正および診断できるようになります。また、ユーザーはファームウェアをニーズに合わせて個別に調整し、特定の最適化を行って、必要な機能のみを含む軽量のファームウェア バージョンを作成する機会も得られます。製品。
このプロジェクトは、オーディオ処理に関連するソリューションの開発、最適化、テスト、および DSP と対話するためのドライバーとプログラムの作成のためのフレームワークを提供します。 この構成には、ファームウェアの実装、ファームウェアをテストするためのツール、ELF ファイルを機器へのインストールに適したファームウェア イメージに変換するためのユーティリティ、デバッグ ツール、DSP エミュレーター、ホスト プラットフォーム エミュレーター (QEMU ベース)、ファームウェアをトレースするためのツール、MATLAB 用のスクリプトが含まれます。オーディオ コンポーネントの係数を微調整するための /Octave、ファームウェアとの対話とデータ交換を整理するためのアプリケーション、オーディオ処理トポロジの既製の例。


このプロジェクトでは、Sound Open Firmwareベースのファームウェアを搭載したデバイスで使用できる汎用ドライバも開発しています。このドライバは既にメインカーネルに組み込まれています。 Linuxリリース5.2以降、BSDとGPLv2のデュアルライセンスで配布されています。ドライバは、DSPメモリへのファームウェアのロード、DSPへのオーディオトポロジーのロード、オーディオデバイスの動作の整理(アプリケーションからDSP機能へのアクセスを担当)、およびオーディオデータへのアプリケーションアクセスポイントの提供を担当します。また、ホストシステムとDSP間の相互作用のためのIPCメカニズムと、標準APIを介してDSPハードウェア機能にアクセスするためのレイヤーも提供します。Sound Open Firmwareを搭載したDSPは、アプリケーションからは通常のALSAデバイスとして認識され、標準ソフトウェアインターフェイスを使用して制御できます。

Sound Open Firmware 2.0 の主な革新:
- オーディオコピー機能のパフォーマンスが大幅に向上し、メモリアクセス数が削減されました。 一部のオーディオ処理シナリオでは、同じオーディオ品質を維持しながら最大 40% の負荷が削減されました。
- マルチコア Intel プラットフォーム (cAVS) での安定性が向上し、あらゆる DSP コアでのハンドラーの実行がサポートされました。
- Apollo Lake (APL) プラットフォームの場合、XTOS の代わりに Zephyr RTOS 環境がファームウェアのベースとして使用されます。 Zephyr OS の統合レベルは、一部の Intel プラットフォームの機能において同等に達しています。 Zephyr を使用すると、Sound Open Firmware アプリケーションのコードを大幅に簡素化し、削減できます。
- Tiger Lake (TGL) デバイスで OS を実行している場合、基本的な音声キャプチャと再生をサポートするために IPC4 プロトコルを使用する機能を実装しました。 Windows (IPC4 サポートにより Windows 特定のドライバを使用せずに、Sound Open FirmwareベースのDSPと連携する。
出所: オープンネット.ru
