Sound Open Firmware 2.0 est disponible, un ensemble de micrologiciels ouverts pour les puces DSP

La version du projet Sound Open Firmware 2.0 (SOF) a été publiée, créée à l'origine par Intel pour s'éloigner de la pratique consistant à fournir un firmware fermé pour les puces DSP liées au traitement audio. Le projet a ensuite été transféré sous l'aile de la Linux Foundation et est désormais développé avec l'implication de la communauté et avec la participation d'AMD, Google et NXP. Le projet développe un SDK pour simplifier le développement du micrologiciel, un pilote audio pour le noyau Linux et un ensemble de micrologiciels prêts à l'emploi pour diverses puces DSP, pour lesquels des assemblages binaires sont également générés, certifiés par une signature numérique. Le code du firmware est écrit en langage C avec des inserts d'assemblage et est distribué sous licence BSD.

Grâce à sa structure modulaire, Sound Open Firmware peut être porté sur diverses architectures DSP et plates-formes matérielles. Par exemple, parmi les plateformes supportées, le support de diverses puces Intel (Broadwell, Icelake, Tigerlake, Alderlake, etc.), Mediatek (mt8195), NXP (i.MX8*) et AMD (Renoir) équipées de DSP basés sur Xtensa HiFi Les architectures sont indiquées 2, 3 et 4. Pendant le processus de développement, un émulateur spécial ou QEMU peut être utilisé. L'utilisation d'un micrologiciel ouvert pour DSP vous permet de corriger et de diagnostiquer plus rapidement les problèmes du micrologiciel, et donne également aux utilisateurs la possibilité d'adapter indépendamment le micrologiciel à leurs besoins, d'effectuer des optimisations spécifiques et de créer des versions légères du micrologiciel qui contiennent uniquement les fonctionnalités nécessaires à le produit.

Le projet fournit un cadre pour développer, optimiser et tester des solutions liées au traitement audio, ainsi que pour créer des pilotes et des programmes pour interagir avec DSP. La composition comprend des implémentations de micrologiciels, des outils de test de micrologiciels, des utilitaires de conversion de fichiers ELF en images de micrologiciels adaptés à l'installation sur des équipements, des outils de débogage, un émulateur DSP, un émulateur de plate-forme hôte (basé sur QEMU), des outils de traçage du micrologiciel, des scripts pour MATLAB. /Octave pour affiner les coefficients des composants audio, des applications pour organiser l'interaction et l'échange de données avec le firmware, des exemples prêts à l'emploi de topologies de traitement audio.

Sound Open Firmware 2.0 est disponible, un ensemble de micrologiciels ouverts pour les puces DSP
Sound Open Firmware 2.0 est disponible, un ensemble de micrologiciels ouverts pour les puces DSP

Le projet développe également un pilote universel pouvant être utilisé avec des appareils utilisant un micrologiciel basé sur Sound Open Firmware. Le pilote est déjà inclus dans le noyau Linux principal, à partir de la version 5.2, et est sous une double licence - BSD et GPLv2. Le pilote est responsable du chargement du micrologiciel dans la mémoire DSP, du chargement des topologies audio dans le DSP, de l'organisation du fonctionnement du périphérique audio (responsable de l'accès aux fonctions DSP à partir des applications) et de la fourniture de points d'accès aux applications aux données audio. Le pilote fournit également un mécanisme IPC pour la communication entre le système hôte et le DSP, ainsi qu'une couche permettant d'accéder aux capacités matérielles du DSP via une API générique. Pour les applications, un DSP avec Sound Open Firmware ressemble à un appareil ALSA classique, qui peut être contrôlé à l'aide d'une interface logicielle standard.

Sound Open Firmware 2.0 est disponible, un ensemble de micrologiciels ouverts pour les puces DSP

Principales innovations de Sound Open Firmware 2.0 :

  • Les performances des fonctions de copie audio ont été considérablement améliorées et le nombre d'accès à la mémoire a été réduit. Certains scénarios de traitement audio ont vu des réductions de charge allant jusqu'à 40 % tout en conservant la même qualité audio.
  • La stabilité sur les plates-formes Intel multicœurs (cAVS) a été améliorée, notamment la prise en charge de l'exécution de gestionnaires sur n'importe quel cœur DSP.
  • Pour la plateforme Apollo Lake (APL), l'environnement Zephyr RTOS est utilisé comme base du firmware au lieu de XTOS. Les niveaux d'intégration de Zephyr OS ont atteint la parité en termes de fonctionnalités pour certaines plates-formes Intel. L'utilisation de Zephyr peut simplifier et réduire considérablement le code des applications Sound Open Firmware.
  • La possibilité d'utiliser le protocole IPC4 a été implémentée pour une prise en charge de base de la capture et de la lecture audio sur certains appareils Tiger Lake (TGL) exécutant Windows (la prise en charge IPC4 vous permet d'interagir avec les DSP basés sur Sound Open Firmware de Windows sans utiliser de pilote spécifique) .

Source: opennet.ru

Ajouter un commentaire