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

Se ha publicado el lanzamiento del proyecto Sound Open Firmware 2.0 (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.0 está disponible, un conjunto de firmware abierto para chips DSP
Sound Open Firmware 2.0 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.0 está disponible, un conjunto de firmware abierto para chips DSP

Innovaciones clave en Sound Open Firmware 2.0:

  • Se ha mejorado significativamente el rendimiento de las funciones de copia de audio y se ha reducido el número de accesos a la memoria. En algunos escenarios de procesamiento de audio se han observado reducciones de carga de hasta un 40 % manteniendo la misma calidad de audio.
  • Se ha mejorado la estabilidad en plataformas Intel multinúcleo (cAVS), incluida la compatibilidad con la ejecución de controladores en cualquier núcleo DSP.
  • Para la plataforma Apollo Lake (APL), el entorno Zephyr RTOS se utiliza como base del firmware en lugar de XTOS. Los niveles de integración de Zephyr OS han alcanzado la paridad en funcionalidad para plataformas Intel seleccionadas. El uso de Zephyr puede simplificar y reducir significativamente el código de las aplicaciones Sound Open Firmware.
  • La capacidad de usar el protocolo IPC4 se ha implementado para soporte básico para la captura y reproducción de audio en algunos dispositivos Tiger Lake (TGL) que ejecutan Windows (la compatibilidad con IPC4 le permite interactuar con DSP basados ​​en Sound Open Firmware desde Windows sin usar un controlador específico) .

Fuente: opennet.ru

Añadir un comentario