Sound Open Firmware 2.0 är tillgänglig, en uppsättning öppen firmware för DSP-chips

Releasen av Sound Open Firmware 2.0 (SOF)-projektet har publicerats, som ursprungligen skapades av Intel för att gå bort från praxis att leverera sluten firmware för DSP-chips relaterad till ljudbehandling. Projektet överfördes därefter under Linux Foundations vingar och utvecklas nu med inblandning av communityn och med deltagande av AMD, Google och NXP. Projektet utvecklar en SDK för att förenkla utvecklingen av firmware, en ljuddrivrutin för Linux-kärnan och en uppsättning färdiga firmware för olika DSP-chips, för vilka binära sammansättningar också genereras, certifierade av en digital signatur. Firmware-koden är skriven på C-språk med assembly-inlägg och distribueras under BSD-licensen.

Tack vare sin modulära struktur kan Sound Open Firmware portas till olika DSP-arkitekturer och hårdvaruplattformar. Till exempel, bland de stödda plattformarna, stöd för olika Intel-chips (Broadwell, Icelake, Tigerlake, Alderlake, etc.), Mediatek (mt8195), NXP (i.MX8*) och AMD (Renoir) utrustade med DSP:er baserade på Xtensa HiFi arkitekturer anges 2, 3 och 4. Under utvecklingsprocessen kan en speciell emulator eller QEMU användas. Användningen av öppen firmware för DSP gör att du snabbare kan korrigera och diagnostisera problem i firmware, och ger även användare möjlighet att självständigt anpassa firmware till deras behov, göra specifika optimeringar och skapa lätta firmwareversioner som endast innehåller den funktionalitet som behövs för produkten.

Projektet ger ett ramverk för att utveckla, optimera och testa lösningar relaterade till ljudbehandling, samt skapa drivrutiner och program för att interagera med DSP. Kompositionen inkluderar firmware-implementeringar, verktyg för att testa firmware, verktyg för att konvertera ELF-filer till firmware-bilder lämpliga för installation på utrustning, felsökningsverktyg, en DSP-emulator, en värdplattformsemulator (baserad på QEMU), verktyg för att spåra firmware, skript för MATLAB /Octave för finjustering av koefficienter för ljudkomponenter, applikationer för att organisera interaktion och datautbyte med firmware, färdiga exempel på ljudbearbetningstopologier.

 Sound Open Firmware 2.0 är tillgänglig, en uppsättning öppen firmware för DSP-chips
 Sound Open Firmware 2.0 är tillgänglig, en uppsättning öppen firmware för DSP-chips

Projektet utvecklar också en universell drivrutin som kan användas med enheter som använder firmware baserad på Sound Open Firmware. Drivrutinen ingår redan i Linux-huvudkärnan, från och med release 5.2, och kommer under en dubbel licens - BSD och GPLv2. Drivrutinen ansvarar för att ladda fast programvara i DSP-minnet, ladda ljudtopologier till DSP, organisera driften av ljudenheten (ansvarig för åtkomst till DSP-funktioner från applikationer) och tillhandahålla applikationsåtkomstpunkter till ljuddata. Drivrutinen tillhandahåller också en IPC-mekanism för kommunikation mellan värdsystemet och DSP, och ett lager för åtkomst till DSP-hårdvarufunktionerna via ett generiskt API. För applikationer ser en DSP med Sound Open Firmware ut som en vanlig ALSA-enhet, som kan styras med ett standardprogramvarugränssnitt.

 Sound Open Firmware 2.0 är tillgänglig, en uppsättning öppen firmware för DSP-chips

Viktiga innovationer i Sound Open Firmware 2.0:

  • Prestandan för ljudkopieringsfunktionerna har förbättrats avsevärt och antalet minnesåtkomstoperationer har minskats. I vissa ljudbehandlingsscenarier har belastningen minskats med upp till 40 % samtidigt som ljudkvaliteten bibehålls.
  • Förbättrad stabilitet på flerkärniga Intel-plattformar (cAVS), inklusive stöd för att köra hanterare på vilken DSP-kärna som helst.
  • Apollo Lake (APL)-plattformen använder Zephyr RTOS-miljön istället för XTOS som bas för firmware. Integrationsnivån för Zephyr OS har nått paritet i funktionalitet för vissa Intel-plattformar. Att använda Zephyr möjliggör en betydande förenkling och minskning av Sound Open Firmware-applikationskoden.
  • Implementerade möjligheten att använda IPC4-protokollet för grundläggande ljudinspelning och uppspelning på vissa Tiger Lake (TGL)-enheter som kör Windows (IP4-stöd tillåter Windows att interagera med DSP:er baserat på Sound Open Firmware utan att använda en specifik drivrutin).

Källa: opennet.ru