Lëshimi i versionit 2.2 të projektit Sound Open Firmware (SOF), fillimisht i krijuar nga kompania Intel për të braktisur praktikat e dhënies së firmware-ve të mbyllura për çipat DSP të lidhur me përpunimin e zërit. Më vonë, projekti u transferua nën kujdesin e organizatës Linux Foundation dhe tani zhvillohet me angazhimin e komunitetit dhe me pjesëmarrjen e kompanive AMD, Google dhe NXP. Projekti po zhvillon një SDK për të thjeshtuar zhvillimin e firmware-ve, një drejtues zëri për bërthamën Linux dhe një grup firmware-ve të gatshme për çipat DSP të ndryshëm, për të cilat gjithashtu krijohen mbledhje binarësh, të nënshkruara nga një nënshkrim digjital. Kodi i firmware-ve është shkruar në gjuhën C me përfshirje assembler dhe shpërndahet nën licencën BSD.
Falë strukturores modulare, Sound Open Firmware mund të portohen në arkitektura të ndryshme DSP dhe platforma harduerike. Për shembull, ndër platforma të mbështetura janë të listuara disa çipe Intel (Broadwell, Icelake, Tigerlake, Alderlake etj.), Mediatek (mt8195), NXP (i.MX8*) dhe AMD (Renoir), të pajisura me DSP që bazohen në arkitekturat Xtensa HiFi 2, 3 dhe 4. Gjatë procesit të zhvillimit mund të përdoret një emulator special ose QEMU. Përdorimi i firmware-eve të hapura për DSP lejon zgjidhjen dhe diagnozimin e problemeve në firmware në mënyrë më të shpejtë, si dhe u jep përdoruesve mundësi për të adaptuar firmware për nevojat e tyre, për të bërë optimizime specifike dhe për të krijuar variante të lehta firmware që përmbajnë vetëm funksionalitetin e nevojshëm në produkt.
Projekti ofron një kornizë për zhvillimin, optimizimin dhe testimin e zgjidhjeve të lidhura me përpunimin e zërit, si dhe me krijimin e drejtuarve dhe programeve për ndërveprimin me DSP. Në përfshirje janë realizimet e firmware, mjetet për testimin e firmware, utilitetet për konvertimin e skedarëve ELF në imazhe firmware të përshtatshme për instalim në pajisje, mjetet e manipulimit, simulatori i DSP, simulatori i platformës pritëse (bazuar në QEMU), mjetet për ndjekjen e firmware, skriptet në MATLAB/Octave për rafinimin e koeficientëve për komponentët audio, aplikacionet për organizimin e ndërveprimit dhe shkëmbimin e të dhënave me firmware, dhe shembujt e gatshëm të topologjive për përpunimin e zërit.


Projekti gjithashtu zhvillon një drejtues universale, i cili mund të përdoret me pajisje që përdorin firmware të bazuar në Sound Open Firmware. Drejtuesi tashmë është përfshirë në bërthamën themelore të Linux-it që nga versioni 5.2 dhe ofrohet me një licencë të dyfishtë - BSD dhe GPLv2. Drejtuesi është përgjegjës për ngarkimin e firmware në memorjen DSP, ngarkimin e topologjive audio në DSP, organizimin e punës së pajisjes audio (përgjegjës për thirrjet në funksionet DSP nga aplikacionet) dhe ofrimin e pikave të qasjes për aplikacionet në të dhënat audio. Drejtuesi gjithashtu ofron një mekanizëm IPC për ndërlidhjen midis sistemit host dhe DSP, si dhe një shtresë për qasjen në kapacitetet harduerike të DSP përmes një API standard. DSP me firmware Sound Open Firmware duket për aplikacionet si një pajisje e zakonshme ALSA, e cila mund të menaxhohet me ndërfaqen standarde të programimit.

Novitetet kryesore në Sound Open Firmware 2.2:
- Komponenti për punë me biblioteka ekstern të kodekëve është riemëruar nga codec_adapter në module_adapter dhe është përshtatur me API-të e modulit të përpunimit të sinjaleve, gjë që do të lejojë përdorimin e kodit nga përpunuesit e Windows pa ndryshime.
- API-ja Frag është shpallur e vjetër, heqja e së cilës ka lejuar rritjen e performancës së çdo komponenti me rreth 1 MCPS (milion cikle në sekondë).
- Addition of API Frame that performs pre-calculations of block sizes for handlers based on SIMD instructions and without them. The optimization has allowed performance to increase by about 0.25 MCPS.
- Shtuar një modul të ri për përzierje me mbështetje HiFi4 për reduktimin ose rritjen e numrit të kanaleve audio në rrjedhë.
- Të drejtat për përdorimin si bazë të firmware-ve për ambientin Zephyr RTOS janë zgjeruar në vend të XTOS. Përdorimi i Zephyr lejon një thjeshtim dhe reduktim të konsiderueshëm të kodit të aplikacioneve të Sound Open Firmware. Në versionin e ri është shtuar mbështetje për API-të natyrore të Zephyr për regjistrimin e logeve dhe për të bërë vonesa. Në lëshimin e ardhshëm pritet mbështetje e plotë e integruar për Zephyr.
- Zgjerimi i mundësive për përdorimin e protokollit IPC4 për kapjen dhe riprodhimin e zërit në pajisjet me sistemin operativ Windows (mbështetja IPC4 lejon që nga Windows të komunikoni me DSP në bazë të firmware-ve të Sound Open Firmware pa përdorimin e një drejtuesi specifik).
Burimi: opennet.ru
