Даступны Sound Open Firmware 2.0, набор адкрытых прашывак да DSP-чыпаў

Апублікаваны выпуск праекта Sound Open Firmware 2.0 (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 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 c прашыўкай 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 дасягнуў парытэту ў функцыянальнасці для некаторых платформаў Intel. Ужыванне Zephyr дазваляе значна спрасціць і скараціць код прыкладанняў Sound Open Firmware.
  • Рэалізаваная магчымасць выкарыстання пратаколу IPC4 для базавай падтрымкі захопу і прайграванні гуку на некаторых прыладах Tiger Lake (TGL) з АС Windows (падтрымка IPC4 дазваляе з Windows узаемадзейнічаць з DSP на базе прашывак Sound Open Firmware без ужывання спецыфічнага драйвера).

Крыніца: opennet.ru

Дадаць каментар