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

Releasen av Sound Open Firmware 2.2 (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.2 är tillgänglig, en uppsättning öppen firmware för DSP-chips
Sound Open Firmware 2.2 ä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.2 är tillgänglig, en uppsättning öppen firmware för DSP-chips

Viktiga innovationer i Sound Open Firmware 2.2:

  • Komponenten för att arbeta med externa codec-bibliotek har bytt namn från codec_adapter till modul_adapter och anpassats till API:et för signalbehandlingsmoduler, vilket gör att du kan använda kod från Windows-hanterare utan att ändra den.
  • Frag API har föråldrats och har förbättrat prestandan för varje komponent med cirka 1 MCPS (miljon cykler per sekund).
  • Lade till Frame API, som utför framåtberäkning av blockstorlekar för hanterare baserat på SIMD- och icke-SIMD-instruktioner. Optimering gjorde det möjligt att öka prestandan med cirka 0.25 MCPS.
  • Lade till en ny mixer med HiFi4-stöd för att minska eller öka antalet ljudkanaler i en stream.
  • Möjligheterna att använda Zephyr RTOS istället för XTOS som grund för firmware för miljön har utökats. Att använda Zephyr kan avsevärt förenkla och minska koden för Sound Open Firmware-applikationer. Den nya versionen lägger till stöd för inbyggda Zephyr API:er för loggning och införande av förseningar. Fullständigt inbyggt stöd för Zephyr förväntas i nästa utgåva.
  • Möjligheten att använda IPC4-protokollet för att fånga och spela upp ljud på enheter som kör Windows har utökats (IPC4-stöd tillåter Windows att interagera med DSP:er baserade på Sound Open Firmware utan att använda en specifik drivrutin).

Källa: opennet.ru

Lägg en kommentar