Недавно объявлено о запуске проекта Sound Open Firmware 2.0 (СФБ), изначально созданный Intel отойти от практики поставки закрытых прошивок для микросхем DSP, связанных с обработкой звука. Этот проект позже он перешел под крыло Linux Foundation И сейчас он разрабатывается при участии сообщества и участии AMD, Google и NXP.
В рамках проекта вы разрабатываете SDK для упрощения разработки прошивки, звуковой драйвер для ядра Linux и готовый набор прошивок для различных микросхем DSP, для которых в том числе формируются бинарные сборки, заверенные цифровой подписью.
О звуке Открыть прошивку
Благодаря своей модульной структуре, Sound Open Firmware может быть перенесен на различные архитектуры DSP и аппаратные платформы. Например, среди поддерживаемых платформ поддержка различных чипов от Intel (Broadwell, Icelake, Tigerlake, Alderlake и др.), Mediatek (mt8195), NXP (i.MX8*) и AMD (Renoir), оснащенных DSP на базе Xtensa. . Заявлены Hi-Fi архитектуры 2, 3 и 4.
В процессе разработки, можно использовать специальный эмулятор или QEMU. Использование открытой прошивки для DSP позволяет быстрее устранять неполадки и диагностировать проблемы с прошивкой, а также дает пользователям возможность самостоятельно адаптировать прошивку к своим потребностям, выполнять определенные оптимизации и создавать облегченные версии прошивки, которые содержат только те функции, которые требуются для продукта.
В рамках проекта обеспечивает основу для разработки, оптимизации и тестирования решений связанных с обработкой звука, а также для создания контроллеров и программ для взаимодействия с DSP.
Включает в себя реализации прошивки, инструменты тестирования прошивки, утилиты для преобразования файлов ELF в образы прошивки, подходящие для установки на оборудование, инструменты отладки, эмулятор DSP, эмулятор хост-платформы (на основе QEMU), инструменты отслеживания прошивки, скрипты MATLAB/Octave для настройки коэффициентов для звука компоненты, приложения для организации взаимодействия и обмена данными с прошивкой, готовые примеры топологий обработки звука.
Проект также вы разрабатываете универсальный драйвер, который можно использовать с устройствами, использующими прошивку на основе Sound Open Firmware. Драйвер уже включен в основное ядро Linux, начиная с версии 5.2, и имеет двойную лицензию BSD и GPLv2.
Контроллер отвечает за загрузку прошивки в память DSP, загрузку звуковых топологий в DSP, организацию работы звукового устройства (отвечает за доступ к функциям DSP из приложений) и предоставление точек доступа из приложения к звуковым данным. .
Контроллер также предоставляет механизм IPC для связи между хост-системой и DSP, а также уровень для доступа к аппаратным возможностям DSP через общий API. DSP с Sound Open Firmware выглядит как обычное устройство ALSA для приложений, для которых можно использовать стандартный программный интерфейс.
Основные новые возможности Sound Open Firmware 2.0
Что касается новинок, которые выделяются в этой новой версии:
- Значительно улучшена производительность функций копирования аудиоданных и уменьшено количество операций доступа к памяти. В некоторых сценариях обработки звука нагрузка снижается до 40% при сохранении того же качества звука.
- Улучшена стабильность на многоядерных платформах Intel (cAVS), включая поддержку запуска драйверов на любом ядре DSP.
- Для платформы Apollo Lake (APL) вместо XTOS в качестве основы для прошивки используется среда Zephyr RTOS.
- Уровень интеграции ОС Zephyr достиг паритета по функциональности для некоторых платформ Intel. Zephyr может значительно упростить и сократить код приложений Sound Open Firmware.
- Возможность использования протокола IPC4 для базовой поддержки захвата и воспроизведения аудио была реализована на некоторых устройствах Tiger Lake (TGL) с операционной системой Windows (поддержка IPC4 позволяет Windows взаимодействовать с DSP на основе Sound Open Firmware без использования специального драйвера).
Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.