Sound Open Firmware 2.2 ist verfügbar, ein Satz offener Firmware für DSP-Chips

Die Veröffentlichung des Sound Open Firmware 2.2 (SOF)-Projekts wurde veröffentlicht, das ursprünglich von Intel ins Leben gerufen wurde, um von der Praxis der Bereitstellung geschlossener Firmware für DSP-Chips im Zusammenhang mit der Audioverarbeitung abzuweichen. Das Projekt wurde anschließend unter die Fittiche der Linux Foundation übertragen und wird nun unter Einbeziehung der Community und unter Beteiligung von AMD, Google und NXP entwickelt. Das Projekt entwickelt ein SDK zur Vereinfachung der Firmware-Entwicklung, einen Soundtreiber für den Linux-Kernel und einen Satz vorgefertigter Firmware für verschiedene DSP-Chips, für die auch binäre Assemblys generiert werden, die durch eine digitale Signatur zertifiziert sind. Der Firmware-Code ist in C-Sprache mit Assembly-Einfügungen geschrieben und wird unter der BSD-Lizenz vertrieben.

Dank seines modularen Aufbaus kann Sound Open Firmware auf verschiedene DSP-Architekturen und Hardwareplattformen portiert werden. Zu den unterstützten Plattformen gehören beispielsweise die Unterstützung verschiedener Intel-Chips (Broadwell, Icelake, Tigerlake, Alderlake usw.), Mediatek (mt8195), NXP (i.MX8*) und AMD (Renoir), die mit DSPs auf Basis von Xtensa HiFi ausgestattet sind Architekturen werden mit 2, 3 und 4 angegeben. Während des Entwicklungsprozesses kann ein spezieller Emulator oder QEMU verwendet werden. Durch die Verwendung offener Firmware für DSP können Sie Probleme in der Firmware schneller beheben und diagnostizieren und Benutzern die Möglichkeit geben, die Firmware selbstständig an ihre Bedürfnisse anzupassen, spezifische Optimierungen vorzunehmen und schlanke Firmware-Versionen zu erstellen, die nur die für erforderliche Funktionalität enthalten das Produkt.

Das Projekt bietet einen Rahmen für die Entwicklung, Optimierung und Prüfung von Lösungen im Zusammenhang mit der Audioverarbeitung sowie für die Erstellung von Treibern und Programmen für die Interaktion mit DSP. Die Zusammensetzung umfasst Firmware-Implementierungen, Tools zum Testen der Firmware, Dienstprogramme zum Konvertieren von ELF-Dateien in Firmware-Images, die für die Installation auf Geräten geeignet sind, Debugging-Tools, einen DSP-Emulator, einen Host-Plattform-Emulator (basierend auf QEMU), Tools zum Tracing von Firmware und Skripte für MATLAB /Octave zur Feinabstimmung von Koeffizienten für Audiokomponenten, Anwendungen zur Organisation der Interaktion und des Datenaustauschs mit Firmware, vorgefertigte Beispiele für Audioverarbeitungstopologien.

Sound Open Firmware 2.2 ist verfügbar, ein Satz offener Firmware für DSP-Chips
Sound Open Firmware 2.2 ist verfügbar, ein Satz offener Firmware für DSP-Chips

Das Projekt entwickelt außerdem einen universellen Treiber, der mit Geräten verwendet werden kann, die eine auf Sound Open Firmware basierende Firmware verwenden. Der Treiber ist ab Version 5.2 bereits im Haupt-Linux-Kernel enthalten und unterliegt einer Doppellizenz – BSD und GPLv2. Der Treiber ist dafür verantwortlich, Firmware in den DSP-Speicher zu laden, Audiotopologien in den DSP zu laden, den Betrieb des Audiogeräts zu organisieren (verantwortlich für den Zugriff auf DSP-Funktionen von Anwendungen) und Anwendungszugriffspunkte auf Audiodaten bereitzustellen. Der Treiber bietet außerdem einen IPC-Mechanismus für die Kommunikation zwischen dem Hostsystem und dem DSP sowie eine Ebene für den Zugriff auf die DSP-Hardwarefunktionen über eine generische API. Für Anwendungen sieht ein DSP mit Sound Open Firmware wie ein normales ALSA-Gerät aus, das über eine Standard-Softwareschnittstelle gesteuert werden kann.

Sound Open Firmware 2.2 ist verfügbar, ein Satz offener Firmware für DSP-Chips

Wichtige Neuerungen in der Sound Open Firmware 2.2:

  • Die Komponente für die Arbeit mit externen Codec-Bibliotheken wurde von codec_adapter in module_adapter umbenannt und an die API von Signalverarbeitungsmodulen angepasst, sodass Sie Code von Windows-Handlern verwenden können, ohne ihn zu ändern.
  • Die Frag-API ist veraltet und hat die Leistung jeder Komponente um etwa 1 MCPS (Million Zyklen pro Sekunde) verbessert.
  • Die Frame-API wurde hinzugefügt, die eine Vorwärtsberechnung von Blockgrößen für Handler basierend auf SIMD- und Nicht-SIMD-Anweisungen durchführt. Durch die Optimierung konnte die Leistung um ca. 0.25 MCPS gesteigert werden.
  • Ein neuer Mixer mit HiFi4-Unterstützung hinzugefügt, um die Anzahl der Audiokanäle in einem Stream zu reduzieren oder zu erhöhen.
  • Die Möglichkeiten, Zephyr RTOS anstelle von XTOS als Basis für Firmware für die Umgebung zu verwenden, wurden erweitert. Durch die Verwendung von Zephyr kann der Code von Sound Open Firmware-Anwendungen erheblich vereinfacht und reduziert werden. Die neue Version bietet Unterstützung für native Zephyr-APIs zur Protokollierung und Einführung von Verzögerungen. Volle native Unterstützung für Zephyr wird in der nächsten Version erwartet.
  • Die Möglichkeit, das IPC4-Protokoll zum Aufnehmen und Abspielen von Ton auf Geräten mit Windows zu verwenden, wurde erweitert (IPC4-Unterstützung ermöglicht Windows die Interaktion mit DSPs, die auf Sound Open Firmware basieren, ohne einen bestimmten Treiber zu verwenden).

Source: opennet.ru

Kommentar hinzufügen