Available ang Sound Open Firmware 2.2, isang set ng open firmware para sa DSP chips

Ang paglabas ng proyekto ng Sound Open Firmware 2.2 (SOF) ay nai-publish, na orihinal na nilikha ng Intel upang lumayo sa kasanayan ng paghahatid ng closed firmware para sa mga DSP chip na nauugnay sa pagpoproseso ng audio. Ang proyekto ay kasunod na inilipat sa ilalim ng pakpak ng Linux Foundation at ngayon ay binuo sa paglahok ng komunidad at sa partisipasyon ng AMD, Google at NXP. Ang proyekto ay bumubuo ng isang SDK upang pasimplehin ang pag-develop ng firmware, isang sound driver para sa Linux kernel at isang set ng handa na firmware para sa iba't ibang DSP chips, kung saan ang mga binary assemblies ay nabuo din, na pinatunayan ng isang digital na lagda. Ang firmware code ay nakasulat sa wikang C na may mga pagsingit ng pagpupulong at ipinamamahagi sa ilalim ng lisensya ng BSD.

Salamat sa modular na istraktura nito, ang Sound Open Firmware ay maaaring ma-port sa iba't ibang mga arkitektura ng DSP at mga platform ng hardware. Halimbawa, kabilang sa mga sinusuportahang platform, suporta para sa iba't ibang Intel chips (Broadwell, Icelake, Tigerlake, Alderlake, atbp.), Mediatek (mt8195), NXP (i.MX8*) at AMD (Renoir) na nilagyan ng mga DSP batay sa Xtensa HiFi ang mga arkitektura ay nakasaad 2, 3 at 4. Sa panahon ng proseso ng pag-unlad, maaaring gumamit ng isang espesyal na emulator o QEMU. Ang paggamit ng bukas na firmware para sa DSP ay nagbibigay-daan sa iyo upang mas mabilis na iwasto at masuri ang mga problema sa firmware, at binibigyan din ang mga user ng pagkakataon na independiyenteng iakma ang firmware sa kanilang mga pangangailangan, gumawa ng mga partikular na pag-optimize at lumikha ng magaan na mga bersyon ng firmware na naglalaman lamang ng pag-andar na kinakailangan para sa ang produkto.

Ang proyekto ay nagbibigay ng isang balangkas para sa pagbuo, pag-optimize at pagsubok ng mga solusyon na nauugnay sa pagpoproseso ng audio, pati na rin ang paglikha ng mga driver at programa para sa pakikipag-ugnayan sa DSP. Kasama sa komposisyon ang mga pagpapatupad ng firmware, mga tool para sa pagsubok ng firmware, mga kagamitan para sa pag-convert ng mga ELF file sa mga imahe ng firmware na angkop para sa pag-install sa kagamitan, mga tool sa pag-debug, isang DSP emulator, isang host platform emulator (batay sa QEMU), mga tool para sa pagsubaybay sa firmware, mga script para sa MATLAB /Octave para sa fine-tuning coefficients para sa mga bahagi ng audio, mga application para sa pag-aayos ng pakikipag-ugnayan at pagpapalitan ng data gamit ang firmware, mga ready-made na halimbawa ng mga topolohiya sa pagproseso ng audio.

Available ang Sound Open Firmware 2.2, isang set ng open firmware para sa DSP chips
Available ang Sound Open Firmware 2.2, isang set ng open firmware para sa DSP chips

Gumagawa din ang proyekto ng isang unibersal na driver na maaaring magamit sa mga device gamit ang firmware batay sa Sound Open Firmware. Ang driver ay kasama na sa pangunahing Linux kernel, simula sa release 5.2, at nasa ilalim ng dual license - BSD at GPLv2. Ang driver ay may pananagutan sa pag-load ng firmware sa memorya ng DSP, pag-load ng mga topolohiya ng audio sa DSP, pag-aayos ng pagpapatakbo ng audio device (responsable sa pag-access sa mga function ng DSP mula sa mga application), at pagbibigay ng mga access point ng application sa audio data. Nagbibigay din ang driver ng mekanismo ng IPC para sa komunikasyon sa pagitan ng host system at ng DSP, at isang layer para sa pag-access sa mga kakayahan ng hardware ng DSP sa pamamagitan ng isang generic na API. Para sa mga application, ang isang DSP na may Sound Open Firmware ay mukhang isang regular na ALSA device, na maaaring kontrolin gamit ang isang karaniwang interface ng software.

Available ang Sound Open Firmware 2.2, isang set ng open firmware para sa DSP chips

Mga pangunahing inobasyon sa Sound Open Firmware 2.2:

  • Ang bahagi para sa pagtatrabaho sa mga panlabas na codec library ay pinalitan ng pangalan mula sa codec_adapter sa module_adapter at dinala sa linya ng API ng mga module sa pagpoproseso ng signal, na magbibigay-daan sa iyong gumamit ng code mula sa mga humahawak ng Windows nang hindi ito binabago.
  • Ang Frag API ay hindi na ginagamit, na nagpapahusay sa pagganap ng bawat bahagi ng humigit-kumulang 1 MCPS (milyong cycle bawat segundo).
  • Idinagdag ang Frame API, na nagsasagawa ng pasulong na pagkalkula ng mga laki ng block para sa mga humahawak batay sa mga tagubilin sa SIMD at hindi SIMD. Ginawang posible ng pag-optimize na pataasin ang pagganap ng humigit-kumulang 0.25 MCPS.
  • Nagdagdag ng bagong mixer na may suporta sa HiFi4 para bawasan o pataasin ang bilang ng mga audio channel sa isang stream.
  • Ang mga posibilidad ng paggamit ng Zephyr RTOS sa halip na XTOS bilang batayan para sa firmware para sa kapaligiran ay pinalawak. Ang paggamit ng Zephyr ay maaaring makabuluhang pasimplehin at bawasan ang code ng Sound Open Firmware applications. Ang bagong bersyon ay nagdaragdag ng suporta para sa mga katutubong Zephyr API para sa pag-log at pagpapakilala ng mga pagkaantala. Ang buong katutubong suporta para sa Zephyr ay inaasahan sa susunod na paglabas.
  • Ang kakayahang gamitin ang protocol ng IPC4 para sa pagkuha at paglalaro ng tunog sa mga device na nagpapatakbo ng Windows ay pinalawak (pinapayagan ng suporta ng IPC4 ang Windows na makipag-ugnayan sa mga DSP batay sa Sound Open Firmware nang hindi gumagamit ng partikular na driver).

Pinagmulan: opennet.ru

Magdagdag ng komento