Dostępny jest Sound Open Firmware 2.0, zestaw otwartego oprogramowania układowego dla układów DSP

Ukazała się premiera projektu Sound Open Firmware 2.0 (SOF), pierwotnie stworzonego przez firmę Intel w celu odejścia od praktyki dostarczania zamkniętego oprogramowania układowego dla układów DSP związanych z przetwarzaniem dźwięku. Projekt został następnie przekazany pod skrzydła Linux Foundation i obecnie jest rozwijany przy zaangażowaniu społeczności oraz przy udziale AMD, Google i NXP. W ramach projektu opracowywane jest SDK ułatwiające tworzenie oprogramowania sprzętowego, sterownik dźwiękowy dla jądra Linuksa oraz zestaw gotowego oprogramowania sprzętowego dla różnych układów DSP, dla którego generowane są również zestawy binarne, potwierdzone podpisem cyfrowym. Kod oprogramowania sprzętowego jest napisany w języku C z wkładkami asemblerowymi i jest rozpowszechniany na licencji BSD.

Dzięki swojej modułowej strukturze oprogramowanie Sound Open Firmware można przenosić na różne architektury DSP i platformy sprzętowe. Na przykład wśród obsługiwanych platform obsługa różnych chipów Intel (Broadwell, Icelake, Tigerlake, Alderlake itp.), Mediatek (mt8195), NXP (i.MX8 *) i AMD (Renoir) wyposażonych w procesory DSP oparte na Xtensa HiFi architektury podano w punktach 2, 3 i 4. Podczas procesu programowania można zastosować specjalny emulator lub QEMU. Zastosowanie otwartego oprogramowania dla DSP pozwala na szybsze korygowanie i diagnozowanie problemów w oprogramowaniu, a także daje użytkownikom możliwość samodzielnego dostosowania oprogramowania do swoich potrzeb, dokonywania określonych optymalizacji i tworzenia lekkich wersji oprogramowania, które zawierają tylko funkcjonalność niezbędną do produkt.

Projekt zapewnia framework do opracowywania, optymalizacji i testowania rozwiązań związanych z przetwarzaniem dźwięku, a także tworzenia sterowników i programów do interakcji z DSP. Kompozycja zawiera implementacje oprogramowania sprzętowego, narzędzia do testowania oprogramowania sprzętowego, narzędzia do konwersji plików ELF na obrazy oprogramowania sprzętowego odpowiednie do instalacji na sprzęcie, narzędzia do debugowania, emulator DSP, emulator platformy hosta (oparty na QEMU), narzędzia do śledzenia oprogramowania sprzętowego, skrypty dla MATLAB /Octave do dostrajania współczynników komponentów audio, aplikacje do organizowania interakcji i wymiany danych z oprogramowaniem sprzętowym, gotowe przykłady topologii przetwarzania dźwięku.

Dostępny jest Sound Open Firmware 2.0, zestaw otwartego oprogramowania układowego dla układów DSP
Dostępny jest Sound Open Firmware 2.0, zestaw otwartego oprogramowania układowego dla układów DSP

W ramach projektu opracowywany jest także uniwersalny sterownik, który będzie mógł być używany z urządzeniami korzystającymi z oprogramowania sprzętowego opartego na Sound Open Firmware. Sterownik jest już zawarty w głównym jądrze Linuksa, począwszy od wersji 5.2, i jest objęty podwójną licencją – BSD i GPLv2. Driver odpowiada za wczytanie oprogramowania sprzętowego do pamięci DSP, załadowanie topologii audio do DSP, organizację pracy urządzenia audio (odpowiedzialny za dostęp do funkcji DSP z poziomu aplikacji) oraz zapewnienie aplikacjom punktów dostępu do danych audio. Sterownik zapewnia również mechanizm IPC do komunikacji pomiędzy systemem hosta a procesorem DSP oraz warstwę dostępu do możliwości sprzętu DSP poprzez ogólny interfejs API. W zastosowaniach procesor DSP z oprogramowaniem Sound Open Firmware wygląda jak zwykłe urządzenie ALSA, którym można sterować za pomocą standardowego interfejsu oprogramowania.

Dostępny jest Sound Open Firmware 2.0, zestaw otwartego oprogramowania układowego dla układów DSP

Kluczowe innowacje w Sound Open Firmware 2.0:

  • Znacząco poprawiono wydajność funkcji kopiowania dźwięku i zmniejszono liczbę dostępów do pamięci. W niektórych scenariuszach przetwarzania dźwięku zaobserwowano zmniejszenie obciążenia nawet o 40% przy zachowaniu tej samej jakości dźwięku.
  • Poprawiono stabilność na wielordzeniowych platformach Intel (cAVS), w tym obsługę uruchamiania programów obsługi na dowolnym rdzeniu DSP.
  • W przypadku platformy Apollo Lake (APL) zamiast XTOS podstawą oprogramowania sprzętowego jest środowisko Zephyr RTOS. Poziomy integracji systemu operacyjnego Zephyr OS osiągnęły taki sam poziom funkcjonalności dla wybranych platform Intel. Korzystanie z Zephyr może znacząco uprościć i zredukować kod aplikacji Sound Open Firmware.
  • Możliwość korzystania z protokołu IPC4 została zaimplementowana w celu zapewnienia podstawowej obsługi przechwytywania i odtwarzania dźwięku na niektórych urządzeniach Tiger Lake (TGL) z systemem Windows (obsługa IPC4 umożliwia interakcję z procesorami DSP opartymi na oprogramowaniu Sound Open Firmware z systemu Windows bez użycia określonego sterownika) .

Źródło: opennet.ru

Dodaj komentarz