Наличен е Sound Open Firmware 2.0, набор от отворен фърмуер за DSP чипове

Изданието на проекта Sound Open Firmware 2.0 (SOF) беше публикувано, първоначално създадено от Intel, за да се отдалечи от практиката на доставяне на затворен фърмуер за DSP чипове, свързани с аудио обработката. Впоследствие проектът беше прехвърлен под крилото на Linux Foundation и сега се разработва с участието на общността и с участието на AMD, Google и NXP. Проектът разработва SDK за опростяване на разработката на фърмуер, звуков драйвер за ядрото на Linux и набор от готов фърмуер за различни DSP чипове, за които също се генерират двоични сборки, удостоверени с цифров подпис. Кодът на фърмуера е написан на език C с вложки за асемблиране и се разпространява под лиценз 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 2.0, набор от отворен фърмуер за DSP чипове
Наличен е Sound Open Firmware 2.0, набор от отворен фърмуер за DSP чипове

Проектът също така разработва универсален драйвер, който може да се използва с устройства, използващи фърмуер, базиран на 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, набор от отворен фърмуер за DSP чипове

Ключови иновации в Sound Open Firmware 2.0:

  • Производителността на функциите за аудио копиране е значително подобрена и броят на достъпите до паметта е намален. При някои сценарии за обработка на аудио се наблюдава намаляване на натоварването с до 40%, като същевременно се поддържа същото качество на звука.
  • Стабилността на многоядрени платформи на Intel (cAVS) е подобрена, включително поддръжка за стартиране на манипулатори на всяко DSP ядро.
  • За платформата Apollo Lake (APL) среда Zephyr RTOS се използва като основа на фърмуера вместо XTOS. Нивата на интеграция на Zephyr OS достигнаха паритет във функционалността за избрани платформи на Intel. Използването на Zephyr може значително да опрости и намали кода на приложенията на Sound Open Firmware.
  • Възможността за използване на протокола IPC4 е внедрена за основна поддръжка за аудио заснемане и възпроизвеждане на някои Tiger Lake (TGL) устройства, работещи под Windows (поддръжката на IPC4 ви позволява да взаимодействате с DSP базирани на Sound Open Firmware от Windows, без да използвате конкретен драйвер) .

Източник: opennet.ru

Добавяне на нов коментар