DSP チップ用のオープン ファームウェアのセットである Sound Open Firmware 2.2 が利用可能です

Sound Open Firmware 2.2 (SOF) プロジェクトのリリースが公開されました。これはもともと、オーディオ処理に関連する DSP チップ用のクローズド ファームウェアを提供する慣行から脱却するために Intel によって作成されました。 その後、このプロジェクトは 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、ファームウェアとの対話とデータ交換を整理するためのアプリケーション、オーディオ処理トポロジの既製の例。

DSP チップ用のオープン ファームウェアのセットである Sound Open Firmware 2.2 が利用可能です
DSP チップ用のオープン ファームウェアのセットである Sound Open Firmware 2.2 が利用可能です

このプロジェクトでは、Sound Open Firmware に基づくファームウェアを使用するデバイスで使用できるユニバーサル ドライバーも開発中です。 このドライバーは、リリース 5.2 以降、メインの Linux カーネルにすでに組み込まれており、BSD と GPLv2 のデュアル ライセンスの下で提供されます。 ドライバーは、DSP メモリへのファームウェアのロード、DSP へのオーディオ トポロジのロード、オーディオ デバイスの動作の編成 (アプリケーションから DSP 機能へのアクセスを担当)、およびオーディオ データへのアプリケーション アクセス ポイントの提供を担当します。 このドライバーは、ホスト システムと DSP 間の通信のための IPC メカニズムと、汎用 API を介して DSP ハードウェア機能にアクセスするためのレイヤーも提供します。 アプリケーションにとって、Sound Open Firmware を備えた DSP は通常の ALSA デバイスのように見え、標準のソフトウェア インターフェイスを使用して制御できます。

DSP チップ用のオープン ファームウェアのセットである Sound Open Firmware 2.2 が利用可能です

Sound Open Firmware 2.2 の主な革新:

  • 外部コーデック ライブラリを操作するためのコンポーネントの名前が codec_adapter から module_adapter に変更され、信号処理モジュールの API に統合されました。これにより、Windows ハンドラーのコードを変更せずに使用できるようになります。
  • Frag API は非推奨になり、各コンポーネントのパフォーマンスが約 1 MCPS (XNUMX 万サイクル/秒) 向上しました。
  • SIMD および非 SIMD 命令に基づいてハンドラーのブロック サイズの前方計算を実行する Frame API が追加されました。最適化により、約 0.25 MCPS の性能向上が可能になりました。
  • ストリーム内のオーディオ チャネルの数を増減するための HiFi4 サポートを備えた新しいミキサーが追加されました。
  • 環境のファームウェアのベースとして XTOS の代わりに Zephyr RTOS を使用する可能性が拡張されました。 Zephyr を使用すると、Sound Open Firmware アプリケーションのコードを大幅に簡素化し、削減できます。新しいバージョンでは、ログ記録と遅延の導入のためのネイティブ Zephyr API のサポートが追加されています。次のリリースでは、Zephyr の完全なネイティブ サポートが期待されています。
  • Windows を実行しているデバイスでサウンドをキャプチャおよび再生するために IPC4 プロトコルを使用する機能が拡張されました (IPC4 サポートにより、Windows は特定のドライバーを使用せずに Sound Open Firmware に基づいて DSP と対話できるようになります)。

出所: オープンネット.ru

コメントを追加します