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:

  • Prestanda för ljudkopieringsfunktioner har förbättrats avsevärt och antalet minnesåtkomster har minskat. Vissa ljudbehandlingsscenarier har sett belastningsminskningar på upp till 40 % samtidigt som samma ljudkvalitet bibehålls.
  • Stabiliteten på multi-core Intel-plattformar (cAVS) har förbättrats, inklusive stöd för att köra hanterare på valfri DSP-kärna.
  • För Apollo Lake (APL)-plattformen används Zephyr RTOS-miljön som grund för den fasta programvaran istället för XTOS. Zephyr OS integrationsnivåer har nått paritet i funktionalitet för utvalda Intel-plattformar. Att använda Zephyr kan avsevärt förenkla och minska koden för Sound Open Firmware-applikationer.
  • Möjligheten att använda IPC4-protokollet har implementerats för grundläggande stöd för ljudinsamling och uppspelning på vissa Tiger Lake-enheter (TGL) som kör Windows (IPC4-stöd låter dig interagera med DSP:er baserade på Sound Open Firmware från Windows utan att använda en specifik drivrutin) .

Källa: opennet.ru

Lägg en kommentar