È disponibile Sound Open Firmware 2.2, un set di firmware aperto per chip DSP

È stato pubblicato il rilascio del progetto Sound Open Firmware 2.2 (SOF), originariamente creato da Intel per allontanarsi dalla pratica di fornire firmware chiuso per chip DSP legati all'elaborazione audio. Il progetto è stato successivamente trasferito sotto l'ala protettrice della Linux Foundation e viene ora sviluppato con il coinvolgimento della comunità e con la partecipazione di AMD, Google e NXP. Il progetto sta sviluppando un SDK per semplificare lo sviluppo del firmware, un driver audio per il kernel Linux e una serie di firmware già pronti per vari chip DSP, per i quali vengono generati anche assiemi binari, certificati da una firma digitale. Il codice firmware è scritto in linguaggio C con inserti di assembly ed è distribuito sotto licenza BSD.

Grazie alla sua struttura modulare, Sound Open Firmware può essere portato su varie architetture DSP e piattaforme hardware. Ad esempio, tra le piattaforme supportate, il supporto per diversi chip Intel (Broadwell, Icelake, Tigerlake, Alderlake, ecc.), Mediatek (mt8195), NXP (i.MX8*) e AMD (Renoir) dotati di DSP basati su Xtensa HiFi le architetture sono indicate 2, 3 e 4. Durante il processo di sviluppo, è possibile utilizzare un emulatore speciale o QEMU. L'uso del firmware aperto per DSP consente di correggere e diagnosticare più rapidamente i problemi nel firmware e offre inoltre agli utenti l'opportunità di adattare autonomamente il firmware alle proprie esigenze, apportare ottimizzazioni specifiche e creare versioni firmware leggere che contengono solo le funzionalità necessarie per il prodotto.

Il progetto fornisce un quadro per lo sviluppo, l'ottimizzazione e il test di soluzioni relative all'elaborazione audio, nonché per la creazione di driver e programmi per l'interazione con DSP. La composizione include implementazioni del firmware, strumenti per testare il firmware, utilità per convertire file ELF in immagini firmware adatte per l'installazione su apparecchiature, strumenti di debug, un emulatore DSP, un emulatore di piattaforma host (basato su QEMU), strumenti per tracciare firmware, script per MATLAB /Ottava per la regolazione fine dei coefficienti per componenti audio, applicazioni per l'organizzazione dell'interazione e dello scambio di dati con il firmware, esempi già pronti di topologie di elaborazione audio.

È disponibile Sound Open Firmware 2.2, un set di firmware aperto per chip DSP
È disponibile Sound Open Firmware 2.2, un set di firmware aperto per chip DSP

Il progetto sta inoltre sviluppando un driver universale che può essere utilizzato con dispositivi che utilizzano firmware basato su Sound Open Firmware. Il driver è già incluso nel kernel principale di Linux, a partire dalla versione 5.2, ed è disponibile con doppia licenza: BSD e GPLv2. Il driver è responsabile del caricamento del firmware nella memoria DSP, del caricamento delle topologie audio nel DSP, dell'organizzazione del funzionamento del dispositivo audio (responsabile dell'accesso alle funzioni DSP dalle applicazioni) e della fornitura di punti di accesso dell'applicazione ai dati audio. Il driver fornisce inoltre un meccanismo IPC per la comunicazione tra il sistema host e il DSP e un livello per accedere alle funzionalità hardware del DSP tramite un'API generica. Per quanto riguarda le applicazioni, un DSP con Sound Open Firmware assomiglia a un normale dispositivo ALSA, che può essere controllato tramite un'interfaccia software standard.

È disponibile Sound Open Firmware 2.2, un set di firmware aperto per chip DSP

Principali innovazioni nel Sound Open Firmware 2.2:

  • Il componente per lavorare con le librerie di codec esterne è stato rinominato da codec_adapter a module_adapter e allineato con l'API dei moduli di elaborazione del segnale, che consentirà di utilizzare il codice dai gestori Windows senza modificarlo.
  • L'API Frag è stata deprecata e ha migliorato le prestazioni di ciascun componente di circa 1 MCPS (milione di cicli al secondo).
  • Aggiunta l'API Frame, che esegue il calcolo in avanti delle dimensioni dei blocchi per i gestori basati su istruzioni SIMD e non SIMD. L'ottimizzazione ha permesso di aumentare le prestazioni di circa 0.25 MCPS.
  • Aggiunto un nuovo mixer con supporto HiFi4 per ridurre o aumentare il numero di canali audio in uno streaming.
  • Sono state ampliate le possibilità di utilizzare Zephyr RTOS invece di XTOS come base per il firmware per l'ambiente. Utilizzando Zephyr puoi semplificare e ridurre notevolmente il codice delle applicazioni Sound Open Firmware. La nuova versione aggiunge il supporto per le API Zephyr native per la registrazione e l'introduzione di ritardi. Il supporto nativo completo per Zephyr è previsto nella prossima versione.
  • È stata ampliata la possibilità di utilizzare il protocollo IPC4 per acquisire e riprodurre l'audio sui dispositivi che eseguono Windows (il supporto IPC4 consente a Windows di interagire con DSP basati su Sound Open Firmware senza utilizzare un driver specifico).

Fonte: opennet.ru

Aggiungi un commento