تلتزم Google بتعزيز المساواة العرقية للمجتمعات السوداء. أنظر كيف.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

بناء OpenThread

سلاسل الأدوات

سلسلة الأدوات الأساسية المدعومة لبناء OpenThread هي GNU Autotools.

أدوات أوتو جنو

يمكن العثور على تعليمات حول إنشاء أمثلة باستخدام GNU Autotools في مجلد النظام الأساسي لكل مثال. لاحظ أن الغرض من هذه الأمثلة هو إظهار الحد الأدنى من التعليمات البرمجية اللازمة لتشغيل OpenThread على كل نظام أساسي. على هذا النحو ، فهي لا تسلط الضوء على القدرات الكاملة للمنصة.

قد يكون من الضروري إجراء مزيد من التكوين أثناء عمليات الإنشاء ، اعتمادًا على حالة الاستخدام الخاصة بك.

أدوات غنو الأوتوماتيكية - بناء مختبرات Nest

أنشأت شركة Nest Labs إطار عمل نظام بناء مخصص وجاهز للمفتاح ، استنادًا إلى GNU Autotools. يُستخدم هذا لحزم البرامج المستقلة التي تحتاج إلى دعم:

  • البناء على والاستهداف ضد أنظمة بناء مستقلة قائمة بذاتها
  • الأنظمة المستهدفة المضمنة باستخدام سلاسل الأدوات المعتمدة على دول مجلس التعاون الخليجي أو المتوافقة

يوصى باستخدام Nest Labs لأدوات GNU Autotools مع OpenThread لأن بعض أنظمة مضيفات البناء قد لا تحتوي على أدوات GNU Autotools ، أو قد يكون لها إصدارات وتوزيعات مختلفة. يؤدي هذا إلى إخراج Autotools الأساسي والثانوي غير المتسق ، مما يؤدي إلى تباين تجربة المستخدم والدعم. تتجنب بنية Nest Labs ذلك من خلال توفير مجموعة مؤهلة مسبقًا من أدوات GNU Autotools مع النصوص البرمجية المرتبطة التي لا تعتمد على إصدارات Autotools على نظام مضيف البناء.

عادة ما يتم طرح هذا المشروع (أو إدخاله بشكل جزئي) في مستودع مشروع مستهدف ويعمل كبذرة لنظام بناء هذا المشروع.

لمعرفة المزيد ، أو لاستخدام هذه الأداة في إصدارات OpenThread الخاصة بك ، راجع README .

كيفية بناء OpenThread

تختلف خطوات إنشاء OpenThread اعتمادًا على سلسلة الأدوات وجهاز المستخدم والنظام الأساسي المستهدف.

سير العمل الأكثر شيوعًا هو:

  1. قم بإعداد بيئة البناء وتثبيت سلسلة الأدوات المطلوبة:
    1. للبناء مباشرة على الجهاز ، راجع محاكاة Codelab للحصول على تعليمات مفصلة
    2. لاستخدام حاوية Docker مع بيئة مهيأة مسبقًا ، قم بتنزيل وتشغيل صورة environment OpenThread:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. ضمن البيئة التي اخترتها ، قم باستنساخ مستودع OpenThread Git:
     git clone https://github.com/openthread/openthread 
  3. من الدليل الجذر للمستودع المستنسخ:
    1. قم بتثبيت سلسلة أدوات غنو والتبعيات الأخرى (اختياري):
       ./script/bootstrap 
    2. إعداد البيئة:
       ./bootstrap 
    3. قم بالتكوين والبناء باستخدام أمثلة النظام الأساسي المحددة مسبقًا مع التخصيص الاختياري عبر المفاتيح الشائعة:
      1. تعديل ثوابت وقت الترجمة OpenThread في النظام الأساسي المحدد /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. تكوين التكوين:
         make -f examples/Makefile- <platform> <switches> 
  4. وميض ثنائي المطلوب للمنصة المستهدفة. توجد جميع الثنائيات التي تم إنشاؤها في /output/ <platform> /bin . عند استخدام الوضع المتقدم ، قد تكون <platform> خاصة بجهاز المستخدم. على سبيل المثال ، x86_64-apple-darwin .

يمكن العثور على تعليمات محددة حول إنشاء منصات مدعومة باستخدام أدوات GNU Autotools في مجلد النظام الأساسي لكل مثال.

ترتيب

يمكنك تكوين OpenThread للوظائف والسلوكيات المختلفة أثناء عملية البناء. خيارات التكوين المتوفرة مفصلة في المواقع التالية:

نوع موقعك
ثوابت زمن الترجمة مُدرج في جميع ملفات الرأس في /src/core/config
مفاتيح بناء Makefile مدرج في /examples/common-switches.mk

بناء الأمثلة

استخدم مفتاح تبديل لتمكين الوظائف لمنصة مثال. على سبيل المثال ، لبناء مثال CC2538 مع تمكين دعم المفوض والنجار:

 make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1 

أو لإنشاء مثال nRF52840 مع تمكين ميزة Jam Jam Detection :

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

ثنائيات

يتم إنشاء الثنائيات التالية في /output/ <platform> /bin من عملية البناء. لتحديد ما يتم إنشاء ثنائيات والأعلام خيار استخدام تكوين مع ./configure الأوامر لإنشاء محدث Makefile لبناء. على سبيل المثال ، لإنشاء OpenThread وإنشاء ثنائيات CLI فقط:

 ./configure --enable-cli
make 
الثنائية وصف تكوين إشارات الخيار
ot-cli-ftd جهاز خيط كامل لتصاميم شركة نفط الجنوب --enable-cli
--enable-ftd
ot-cli-mtd جهاز الخيط الأدنى لتصميمات شركة نفط الجنوب --enable-cli
--enable-mtd
ot-ncp-ftd جهاز خيط كامل لتصميمات NCP --enable-ncp
--enable-ftd
ot-ncp-mtd جهاز خيوط الحد الأدنى لتصاميم NCP --enable-ncp
--enable-mtd
ot-rcp Host / 802.15.4 تصميم جهاز التحكم --enable-ncp
--enable-radio-only

إذا لم يتم استخدام هذه العلامات أو مثال النظام الأساسي ، فلن يتم إنشاء التطبيقات ولكن لا تزال ملفات مكتبة OpenThread لا تزال تُنشأ في /output/ <platform> /lib للاستخدام في مشروع.

تحقق من مثال Makefiles لكل نظام أساسي لمعرفة العلامات التي يدعمها كل نظام أساسي. على سبيل المثال ، لا يدعم TI CC2650 FTDs . لمزيد من المعلومات حول FTDs وMTDs، راجع الموضوع التمهيدي . لمزيد من المعلومات حول تصميمات SoC و NCP ، انظر المنصات .

تختلف عملية وميض هذه الثنائيات عبر أمثلة الأنظمة الأساسية. راجع READMEs في مجلد أمثلة كل نظام أساسي للحصول على إرشادات مفصلة.

بناء حزم الدعم

تم العثور على حزم دعم البناء (BSPs) في /third_party . BSPs هي رمز إضافي تابع لجهة خارجية يستخدمه OpenThread على كل نظام أساسي ، ويتم تضمينه بشكل عام عند نقل OpenThread إلى نظام أساسي جديد للأجهزة.