تم إطلاق مشروع Sound Open Firmware 2.0 (SOF)، الذي أنشأته شركة إنتل في الأصل للتخلي عن ممارسة توفير البرامج الثابتة الاحتكارية لرقائق معالجة الإشارات الرقمية المتعلقة بمعالجة الصوت. وقد تم نقل المشروع لاحقًا تحت مظلة المنظمة. Linux يجري تطوير المؤسسة حاليًا بمشاركة مجتمعية ودعم من شركات AMD وGoogle وNXP. ويعمل المشروع على تطوير حزمة تطوير برمجية (SDK) لتبسيط تطوير البرامج الثابتة وبرنامج تشغيل صوتي لنواة النظام. Linux ومجموعة من البرامج الثابتة الجاهزة لمختلف رقاقات معالجة الإشارات الرقمية، بما في ذلك التجميعات الثنائية الموقعة رقميًا. كُتب كود البرنامج الثابت بلغة C مع إضافات التجميع، ويتم توزيعه بموجب ترخيص BSD.
بفضل هيكلها المعياري، يمكن نقل برنامج Sound Open Firmware إلى مختلف بنيات DSP ومنصات الأجهزة. على سبيل المثال، من بين الأنظمة الأساسية المدعومة، دعم شرائح Intel المختلفة (Broadwell، وIcelake، وTigerlake، وAlderlake، وما إلى ذلك)، وMediatek (mt8195)، وNXP (i.MX8*) وAMD (Renoir) المجهزة بمعالجات رقمية تعتمد على Xtensa HiFi تم ذكر البنى 2 و3 و4. أثناء عملية التطوير، يمكن استخدام محاكي خاص أو QEMU. يتيح لك استخدام البرامج الثابتة المفتوحة لـ DSP تصحيح وتشخيص المشكلات في البرامج الثابتة بشكل أسرع، كما يمنح المستخدمين الفرصة لتكييف البرامج الثابتة بشكل مستقل مع احتياجاتهم، وإجراء تحسينات محددة وإنشاء إصدارات البرامج الثابتة خفيفة الوزن التي تحتوي فقط على الوظائف اللازمة لـ المنتج.
يوفر المشروع إطارًا لتطوير وتحسين واختبار الحلول المتعلقة بمعالجة الصوت، بالإضافة إلى إنشاء برامج تشغيل وبرامج للتفاعل مع DSP. يتضمن التكوين تطبيقات البرامج الثابتة، وأدوات اختبار البرامج الثابتة، والأدوات المساعدة لتحويل ملفات ELF إلى صور البرامج الثابتة المناسبة للتثبيت على المعدات، وأدوات تصحيح الأخطاء، ومحاكي DSP، ومحاكي النظام الأساسي المضيف (المعتمد على QEMU)، وأدوات تتبع البرامج الثابتة، والبرامج النصية لـ MATLAB / Octave لمعاملات الضبط الدقيق للمكونات الصوتية، وتطبيقات تنظيم التفاعل وتبادل البيانات مع البرامج الثابتة، والأمثلة الجاهزة لطبولوجيا معالجة الصوت.


يعمل المشروع أيضاً على تطوير برنامج تشغيل شامل يمكن استخدامه مع الأجهزة التي تعمل بنظام تشغيل قائم على برنامج Sound Open Firmware. وقد تم تضمين برنامج التشغيل هذا بالفعل في النواة الرئيسية. Linuxبدءًا من الإصدار 5.2، يتم توزيع برنامج التشغيل هذا بموجب ترخيص مزدوج - BSD و GPLv2. يتولى برنامج التشغيل مسؤولية تحميل البرامج الثابتة في ذاكرة معالج الإشارات الرقمية (DSP)، وتحميل بنى الصوت في معالج الإشارات الرقمية، وتنظيم تشغيل جهاز الصوت (المسؤول عن الوصول إلى وظائف معالج الإشارات الرقمية من التطبيقات)، وتوفير نقاط وصول التطبيقات إلى بيانات الصوت. كما يوفر برنامج التشغيل آلية اتصال بين العمليات (IPC) للتفاعل بين النظام المضيف ومعالج الإشارات الرقمية، وطبقة للوصول إلى إمكانيات معالج الإشارات الرقمية من خلال واجهة برمجة تطبيقات قياسية. يظهر معالج الإشارات الرقمية المزود ببرنامج التشغيل المفتوح للصوت للتطبيقات كجهاز ALSA عادي، والذي يمكن التحكم فيه باستخدام واجهة البرنامج القياسية.

الابتكارات الرئيسية في برنامج Sound Open Firmware 2.0:
- تم تحسين أداء وظائف النسخ الصوتي بشكل ملحوظ وتم تقليل عدد مرات الوصول إلى الذاكرة. شهدت بعض سيناريوهات معالجة الصوت انخفاضًا في التحميل بنسبة تصل إلى 40% مع الحفاظ على نفس جودة الصوت.
- تم تحسين الاستقرار على منصات Intel متعددة النواة (cAVS)، بما في ذلك دعم تشغيل المعالجات على أي نواة DSP.
- بالنسبة لمنصة Apollo Lake (APL)، يتم استخدام بيئة Zephyr RTOS كأساس للبرنامج الثابت بدلاً من XTOS. وصلت مستويات تكامل Zephyr OS إلى التكافؤ في الوظائف مع منصات Intel المحددة. يمكن أن يؤدي استخدام Zephyr إلى تبسيط وتقليل كود تطبيقات Sound Open Firmware بشكل كبير.
- تم تفعيل إمكانية استخدام بروتوكول IPC4 لدعم التقاط الصوت الأساسي وتشغيله على بعض أجهزة Tiger Lake (TGL) التي تعمل بنظام التشغيل Windows (يدعم IPC4) Windows التفاعل مع معالجات الإشارات الرقمية (DSPs) القائمة على برنامج Sound Open Firmware دون استخدام برنامج تشغيل محدد).
المصدر: opennet.ru
