Sound Open Firmware 2.0 發布,一套針對 DSP 晶片的開放韌體

Sound Open Firmware 2.0 (SOF) 專案已發布,該專案最初由英特爾創建,旨在擺脫為與音訊處理相關的 DSP 晶片提供封閉韌體的做法。 該專案隨後被轉移到 Linux 基金會的旗下,目前正在社群以及 AMD、Google 和 NXP 的參與下進行開發。 該專案正在開發一個用於簡化韌體開發的 SDK、一個用於 Linux 核心的聲音驅動程式以及一組用於各種 DSP 晶片的現成固件,並為其生成二進位組件,並通過數位簽名進行認證。 韌體程式碼是用帶有彙編插入的 C 語言編寫的,並在 BSD 許可證下分發。

由於其模組化結構,Sound Open Firmware 可以移植到各種 DSP 架構和硬體平台。 例如,支援的平台中,支援基於Xtensa HiFi配備DSP的各種Intel晶片(Broadwell、Icelake、Tigerlake、Alderlake等)、Mediatek(mt8195)、NXP(i.MX8*)和AMD(Renoir)架構如2、 3和4所述。在開發過程中,可以使用特殊的模擬器或QEMU。 使用DSP 的開放韌體可讓您更快地修正和診斷韌體中的問題,並且還使用戶有機會根據自己的需求獨立調整韌體、進行特定優化並創建僅包含以下功能所需的輕量級韌體版本:產品。

該專案提供了一個框架,用於開發、優化和測試與音訊處理相關的解決方案,以及創建與 DSP 互動的驅動程式和程式。 此組合包括韌體實作、測試韌體的工具、用於將ELF 檔案轉換為適合安裝在裝置上的韌體映像的實用程式、偵錯工具、DSP 模擬器、主機平台模擬器(基於QEMU)、追蹤韌體的工具、MATLAB 腳本/Octave 用於微調音訊元件的係數、用於組織與韌體的互動和資料交換的應用程式、音訊處理拓撲的現成範例。

Sound Open Firmware 2.0 發布,一套針對 DSP 晶片的開放韌體
Sound Open Firmware 2.0 發布,一套針對 DSP 晶片的開放韌體

該專案還在開發一種通用驅動程序,可與使用基於 Sound Open Firmware 的韌體的裝置一起使用。 從版本 5.2 開始,該驅動程式已包含在主 Linux 核心中,並採用雙重授權 - BSD 和 GPLv2。 驅動程式負責將韌體載入到 DSP 記憶體中,將音訊拓撲載入到 DSP 中,組織音訊裝置的操作(負責從應用程式存取 DSP 功能),並提供應用程式對音訊資料的存取點。 該驅動程式還提供了用於主機系統和 DSP 之間通訊的 IPC 機制,以及用於透過通用 API 存取 DSP 硬體功能的層。 對於應用而言,具有聲音開放韌體的 DSP 看起來就像常規的 ALSA 設備,可以使用標準軟體介面進行控制。

Sound Open Firmware 2.0 發布,一套針對 DSP 晶片的開放韌體

Sound Open Firmware 2.0 的主要創新:

  • 音訊複製功能的效能得到了顯著提高,並且記憶體存取次數也得到了減少。 一些音訊處理場景在保持相同音訊品質的同時,負載減少了高達 40%。
  • 多核心英特爾平台 (cAVS) 的穩定性得到了改進,包括支援在任何 DSP 核心上運行處理程序。
  • 對於 Apollo Lake (APL) 平台,使用 Zephyr RTOS 環境作為韌體的基礎,而不是 XTOS。 Zephyr OS 整合等級在功能上已達到特定英特爾平台的同等水準。 使用 Zephyr 可以顯著簡化和減少 Sound Open Firmware 應用程式的程式碼。
  • 已實現使用IPC4 協定的功能,以在某些運行Windows 的Tiger Lake (TGL) 裝置上實現音訊擷取和播放的基本支援(IPC4 支援可讓您與基於Windows 的聲音開放韌體的DSP 進行交互,而無需使用特定的驅動程式) 。

來源: opennet.ru

添加評論