[ON] Доступен Sound Open Firmware 2.2, набор открытых прошивок к DSP-чипам

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6004
ОС: gnu/linux

[ON] Доступен Sound Open Firmware 2.2, набор открытых прошивок к DSP-чипам

Сообщение rssbot »

Опубликован выпуск проекта Sound Open Firmware 2.2 (SOF), изначально созданного компанией Intel для ухода от практики поставки закрытых прошивок для DSP-чипов, связанных с обработкой звука. Впоследствии проект был переведён под крыло организации Linux Foundation и теперь разрабатывается с привлечением сообщества и при участии компаний AMD, Google и NXP. Проектом развивается SDK для упрощения разработки прошивок, звуковой драйвер для ядра Linux и набор готовых прошивок для различных DSP-чипов, для которых в том числе формируются бинарные сборки, заверенные цифровой подписью. Код прошивок написан на языке Си с ассемблерными вставками и распространяется под лицензией BSD.



Благодаря модульной структуре Sound Open Firmware может быть портирован на различные архитектуры DSP и аппаратные платформы. Например, среди поддерживаемых платформ заявлена поддержка различных чипов Intel (Broadwell, Icelake, Tigerlake, Alderlake и т.п.), Mediatek (mt8195), NXP (i.MX8*) и AMD (Renoir),
комплектуемых DSP на базе архитектур Xtensa HiFi 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 c прошивкой Sound Open Firmware выглядит для приложений как обычное устройство ALSA, для управления которым можно использовать штатный программный интерфейс.
Изображение


Ключевые новшества в Sound Open Firmware 2.2:
  • Компонент для работы с внешними библиотеками кодеков переименован из codec_adapter в module_adapter и приведён к соответствию API модулей обработки сигналов, что позволит использовать код из Windows-обработчиков без его изменения.
  • Объявлен устаревшим API Frag, отказ от которого позволил повысить производительность каждого компонента примерно на 1 MCPS (миллион тактов в секунду).
  • Добавлен API Frame, выполняющий упреждающее вычисление размеров блоков для обработчиков на базе инструкций SIMD и без них. Оптимизация позволила увеличить производительность примерно на 0.25 MCPS.
  • Добавлен новый модуль смешивания с поддержкой HiFi4 для сокращения или увеличения числа звуковых каналов в потоке.
  • Расширены возможности использования в качестве основы прошивки окружения Zephyr RTOS вместо XTOS. Применение Zephyr позволяет значительно упростить и сократить код приложений Sound Open Firmware. В новой версии добавлена поддержка родных для Zephyr API для ведения логов и внесения задержек.
    В следующем выпуске ожидается полная встроенная поддержка Zephyr.
  • Расширена возможность использования протокола IPC4 для захвата и воспроизведения звука на устройствах с ОС Windows (поддержка IPC4 позволяет из Windows взаимодействовать с DSP на базе прошивок Sound Open Firmware без применения специфичного драйвера).


Источник: https://www.opennet.ru/opennews/art.shtml?num=57446
(opennet.ru, основная лента)
Спасибо сказали: