De release van het Sound Open Firmware 2.0 (SOF) project is gepubliceerd, dat oorspronkelijk door Intel is ontwikkeld om af te stappen van de praktijk van het aanbieden van gesloten firmware voor DSP-chips die betrokken zijn bij geluidsverwerking. Het project is later onder de hoede van de Linux Foundation gebracht en wordt nu ontwikkeld met de betrokkenheid van de gemeenschap en bedrijven zoals AMD, Google en NXP. Het project ontwikkelt een SDK om de ontwikkeling van firmware te vereenvoudigen, een geluidsdriver voor de Linux-kernel en een set kant-en-klare firmwares voor verschillende DSP-chips, waarvoor ook binaire builds met digitale handtekeningen worden samengesteld. De firmwarecode is geschreven in C met assemblerinvoegen en wordt verspreid onder de BSD-licentie.
Dankzij de modulaire structuur kan Sound Open Firmware worden geport naar verschillende DSP-architecturen en hardwareplatforms. Ondersteunde platforms zijn onder andere verschillende Intel-chips (Broadwell, Icelake, Tigerlake, Alderlake enz.), Mediatek (mt8195), NXP (i.MX8*) en AMD (Renoir), uitgerust met DSP op basis van Xtensa HiFi 2, 3 en 4-architecturen. Tijdens de ontwikkeling kan een speciale emulator of QEMU worden gebruikt. Het gebruik van open firmware voor DSP maakt het mogelijk om problemen in de firmware sneller op te lossen en te diagnosticeren, en geeft gebruikers de mogelijkheid om firmware zelf aan te passen voor hun behoeften, specifieke optimalisaties aan te brengen en lichtgewicht firmwareversies te creëren die alleen de noodzakelijke functionaliteit van het product bevatten.
Het project biedt een framework voor de ontwikkeling, optimalisatie en testing van oplossingen die verband houden met geluidsverwerking, evenals voor het maken van drivers en software voor interactie met DSP. Het omvat implementaties van firmware, gereedschappen voor het testen van firmware, hulpprogramma's voor het omzetten van ELF-bestanden in firmware-images die geschikt zijn voor installatie op hardware, debugtools, DSP-emulator, host-platformemulator (op basis van QEMU), tools voor het traceren van firmware, scripts in MATLAB/Octave voor het nauwkeurig afstemmen van coëfficiënten voor geluidscomponenten, applicaties voor het organiseren van interactie en dataverkeer met de firmware, en kant-en-klare voorbeelden van geluidverwerkingstopologieën.


Het project ontwikkelt ook een universele stuurprogramma dat kan worden gebruikt met apparaten die firmware op basis van Sound Open Firmware gebruiken. De stuurprogramma maakt al deel uit van de hoofdversie van de Linux-kernel, beginnend met release 5.2, en wordt geleverd onder een dubbele licentie — BSD en GPLv2. De stuurprogramma is verantwoordelijk voor het laden van de firmware in het geheugen van de DSP, het laden van geluidsarchitecturen naar de DSP, het organiseren van de werking van het geluidsapparaat (verantwoordelijk voor het aanroepen van DSP-functies vanuit applicaties) en het bieden van toegangspunten voor applicaties tot geluidsgegevens. De stuurprogramma biedt ook een IPC-mechanisme voor interactie tussen het host-systeem en de DSP, en een laag om toegang te krijgen tot de hardwarecapaciteiten van de DSP via een generieke API. DSP met firmware van Sound Open Firmware lijkt voor applicaties op een gewoon ALSA-apparaat, waarvoor de standaard programmeerinterface kan worden gebruikt.

Belangrijkste vernieuwingen in Sound Open Firmware 2.0:
- De prestaties van geluiddata-kopieerfuncties zijn aanzienlijk verhoogd en het aantal geheugentoegangoperaties is verminderd. In bepaalde geluidsverwerkingsscenario's wordt een belastingvermindering van tot 40% waargenomen bij behoud van de geluidskwaliteit.
- De stabiliteit van de werking op multicore Intel-platforms (cAVS) is verbeterd, inclusief de ondersteuning voor het starten van handlers op elke DSP-core.
- Voor het Apollo Lake (APL) platform wordt de Zephyr RTOS-omgeving als basis voor de firmware gebruikt in plaats van XTOS. Het niveau van integratie van het Zephyr-systeem heeft pariteit bereikt in functionaliteit voor sommige Intel-platforms. Het gebruik van Zephyr vergemakkelijkt en verkort de code van Sound Open Firmware-toepassingen aanzienlijk.
- De mogelijkheid om het IPC4-protocol voor basisondersteuning van geluidsopname en -weergave op sommige Tiger Lake (TGL) apparaten met Windows te gebruiken is geïmplementeerd (ondersteuning voor IPC4 maakt het mogelijk om vanuit Windows interactie te hebben met DSP op basis van Sound Open Firmware zonder gebruik van een specifieke driver).
Bron: opennet.ru
