Sound Open Firmware 2.2 está disponible, un conjunto de firmware abierto para chips DSP

Se ha publicado el lanzamiento del proyecto Sound Open Firmware 2.2 (SOF), creado originalmente por Intel para alejarse de la práctica de entregar firmware cerrado para chips DSP relacionados con el procesamiento de audio. Posteriormente, el proyecto pasó a estar bajo el ala de la Fundación Linux y ahora se está desarrollando con la participación de la comunidad y con la participación de AMD, Google y NXP. El proyecto está desarrollando un SDK para simplificar el desarrollo de firmware, un controlador de sonido para el kernel de Linux y un conjunto de firmware listo para usar para varios chips DSP, para los cuales también se generan conjuntos binarios certificados mediante firma digital. El código del firmware está escrito en lenguaje C con inserciones de ensamblaje y se distribuye bajo licencia BSD.

Gracias a su estructura modular, Sound Open Firmware se puede migrar a varias arquitecturas DSP y plataformas de hardware. Por ejemplo, entre las plataformas compatibles, se encuentran el soporte para varios chips Intel (Broadwell, Icelake, Tigerlake, Alderlake, etc.), Mediatek (mt8195), NXP (i.MX8*) y AMD (Renoir) equipados con DSP basados ​​en Xtensa HiFi. Las arquitecturas se indican en 2, 3 y 4. Durante el proceso de desarrollo, se puede utilizar un emulador especial o QEMU. El uso de firmware abierto para DSP le permite corregir y diagnosticar problemas en el firmware más rápidamente y también brinda a los usuarios la oportunidad de adaptar el firmware de forma independiente a sus necesidades, realizar optimizaciones específicas y crear versiones de firmware livianas que contienen solo la funcionalidad necesaria para el producto.

El proyecto proporciona un marco para desarrollar, optimizar y probar soluciones relacionadas con el procesamiento de audio, así como crear controladores y programas para interactuar con DSP. La composición incluye implementaciones de firmware, herramientas para probar firmware, utilidades para convertir archivos ELF en imágenes de firmware adecuadas para su instalación en equipos, herramientas de depuración, un emulador DSP, un emulador de plataforma host (basado en QEMU), herramientas para rastrear firmware, scripts para MATLAB /Octava para coeficientes de ajuste fino de componentes de audio, aplicaciones para organizar la interacción y el intercambio de datos con firmware, ejemplos listos para usar de topologías de procesamiento de audio.

Sound Open Firmware 2.2 está disponible, un conjunto de firmware abierto para chips DSP
Sound Open Firmware 2.2 está disponible, un conjunto de firmware abierto para chips DSP

El proyecto también está desarrollando un controlador universal que se puede utilizar con dispositivos que utilizan firmware basado en Sound Open Firmware. El controlador ya está incluido en el kernel principal de Linux, a partir de la versión 5.2, y viene bajo una licencia dual: BSD y GPLv2. El controlador es responsable de cargar el firmware en la memoria del DSP, cargar topologías de audio en el DSP, organizar el funcionamiento del dispositivo de audio (responsable de acceder a las funciones del DSP desde las aplicaciones) y proporcionar puntos de acceso de las aplicaciones a los datos de audio. El controlador también proporciona un mecanismo IPC para la comunicación entre el sistema host y el DSP, y una capa para acceder a las capacidades del hardware del DSP a través de una API genérica. Para las aplicaciones, un DSP con Sound Open Firmware parece un dispositivo ALSA normal, que se puede controlar mediante una interfaz de software estándar.

Sound Open Firmware 2.2 está disponible, un conjunto de firmware abierto para chips DSP

Innovaciones clave en Sound Open Firmware 2.2:

  • Se cambió el nombre del componente para trabajar con bibliotecas de códecs externos de codec_adapter a module_adapter y se alineó con la API de los módulos de procesamiento de señales, lo que le permitirá utilizar código de los controladores de Windows sin cambiarlo.
  • La API Frag ha quedado obsoleta, lo que mejora el rendimiento de cada componente en aproximadamente 1 MCPS (millón de ciclos por segundo).
  • Se agregó la API Frame, que realiza cálculos directos de tamaños de bloques para controladores basados ​​en instrucciones SIMD y no SIMD. La optimización hizo posible aumentar el rendimiento en aproximadamente 0.25 MCPS.
  • Se agregó un nuevo mezclador con soporte HiFi4 para reducir o aumentar la cantidad de canales de audio en una transmisión.
  • Se han ampliado las posibilidades de utilizar Zephyr RTOS en lugar de XTOS como base para el firmware para el medio ambiente. El uso de Zephyr puede simplificar y reducir significativamente el código de las aplicaciones Sound Open Firmware. La nueva versión agrega soporte para las API nativas de Zephyr para registrar e introducir retrasos. Se espera soporte nativo completo para Zephyr en la próxima versión.
  • Se ha ampliado la capacidad de utilizar el protocolo IPC4 para capturar y reproducir sonido en dispositivos que ejecutan Windows (la compatibilidad con IPC4 permite a Windows interactuar con DSP basados ​​en Sound Open Firmware sin utilizar un controlador específico).

Fuente: opennet.ru

Añadir un comentario