פרסום פרויקט Sound Open Firmware 2.0 (SOF) פורסם, שנוצר במקור על ידי אינטל כדי להתרחק מהנוהג של אספקת קושחה סגורה עבור שבבי DSP הקשורים לעיבוד אודיו. הפרויקט הועבר לאחר מכן תחת הכנף של קרן לינוקס וכעת הוא מפותח במעורבות הקהילה ובהשתתפות AMD, Google ו-NXP. הפרויקט מפתח SDK לפישוט פיתוח הקושחה, דרייבר סאונד לגרעין הלינוקס וערכת קושחה מוכנה לשבבי DSP שונים, שעבורם נוצרות גם מכלולים בינארים, המאושרים בחתימה דיגיטלית. קוד הקושחה כתוב בשפת C עם תוספות הרכבה ומופץ תחת רישיון BSD.
הודות למבנה המודולרי שלה, Sound Open Firmware ניתנת להעברה לארכיטקטורות DSP ופלטפורמות חומרה שונות. לדוגמה, בין הפלטפורמות הנתמכות, תמיכה בשבבי אינטל שונים (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. הדרייבר כבר כלול בליבת לינוקס הראשית, החל מגרסה 5.2, ומגיע תחת רישיון כפול - BSD ו-GPLv2. הנהג אחראי לטעינת קושחה לזיכרון ה-DSP, טעינת טופולוגיות שמע ל-DSP, ארגון פעולת התקן האודיו (אחראי על גישה לפונקציות DSP מיישומים), ומתן נקודות גישה לאפליקציות לנתוני שמע. הדרייבר מספק גם מנגנון IPC לתקשורת בין המערכת המארחת ל-DSP, ושכבה לגישה ליכולות החומרה של DSP דרך API גנרי. עבור יישומים, DSP עם Sound Open Firmware נראה כמו התקן ALSA רגיל, שניתן לשלוט בו באמצעות ממשק תוכנה סטנדרטי.

חידושים מרכזיים ב-Sound Open Firmware 2.0:
- הביצועים של פונקציות העתקת אודיו שופרו באופן משמעותי ומספר הגישה לזיכרון הופחת. תרחישי עיבוד אודיו מסוימים ראו הפחתת עומס של עד 40% תוך שמירה על אותה איכות שמע.
- היציבות בפלטפורמות אינטל מרובות ליבות (cAVS) שופרה, כולל תמיכה בהפעלת מטפלים על כל ליבת DSP.
- עבור פלטפורמת Apollo Lake (APL), סביבת Zephyr RTOS משמשת כבסיס לקושחה במקום XTOS. רמות האינטגרציה של Zephyr OS הגיעו לשוויון בפונקציונליות עבור פלטפורמות נבחרות של אינטל. השימוש ב-Zephyr יכול לפשט ולהפחית משמעותית את הקוד של יישומי Sound Open Firmware.
- היכולת להשתמש בפרוטוקול IPC4 יושמה לתמיכה בסיסית בלכידת אודיו בכמה התקני Tiger Lake (TGL) המריצים Windows (תמיכה ב-IPC4 מאפשרת לך ליצור אינטראקציה עם DSPs המבוססים על Sound Open Firmware מ-Windows מבלי להשתמש במנהל התקן ספציפי) .
מקור: OpenNet.ru
