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

Die Veröffentlichung des Sound Open Firmware 2.0 (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.0 ist verfügbar, ein Satz offener Firmware für DSP-Chips
Sound Open Firmware 2.0 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.0 ist verfügbar, ein Satz offener Firmware für DSP-Chips

Wichtige Neuerungen in der Sound Open Firmware 2.0:

  • Die Leistung der Audio-Kopierfunktionen wurde deutlich verbessert und die Anzahl der Speicherzugriffe reduziert. Bei einigen Audioverarbeitungsszenarien kam es zu einer Lastreduzierung von bis zu 40 % bei gleichbleibender Audioqualität.
  • Die Stabilität auf Multi-Core-Intel-Plattformen (cAVS) wurde verbessert, einschließlich der Unterstützung für die Ausführung von Handlern auf jedem DSP-Kern.
  • Für die Apollo Lake (APL)-Plattform wird anstelle von XTOS die Zephyr RTOS-Umgebung als Basis der Firmware verwendet. Die Integrationsstufen des Zephyr-Betriebssystems haben für ausgewählte Intel-Plattformen die gleiche Funktionalität erreicht. Durch die Verwendung von Zephyr kann der Code von Sound Open Firmware-Anwendungen erheblich vereinfacht und reduziert werden.
  • Die Möglichkeit, das IPC4-Protokoll zu verwenden, wurde für die grundlegende Unterstützung der Audioaufnahme und -wiedergabe auf einigen Tiger Lake (TGL)-Geräten unter Windows implementiert (IPC4-Unterstützung ermöglicht die Interaktion mit DSPs, die auf der Sound Open Firmware von Windows basieren, ohne einen bestimmten Treiber zu verwenden). .

Source: opennet.ru

Kommentar hinzufügen