Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

بناء OpenThread

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

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

أدوات جنو الآلية

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

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

أدوات GNU التلقائية - بناء Nest Labs

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

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

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

عادةً ما يتم دمج هذا المشروع فرعيًا (أو جزء منه) في مستودع مشروع مستهدف ويعمل بمثابة الأساس لنظام بناء هذا المشروع.

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

كيفية بناء OpenThread

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

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

  1. قم بإعداد بيئة البناء وتثبيت سلسلة الأدوات المطلوبة:
    1. للإنشاء مباشرة على جهاز ، راجع Simulation 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. قم بتثبيت GNU toolchain والتبعيات الأخرى (اختياري):
      ./script/bootstrap
    2. قم بإعداد البيئة:
      ./bootstrap
    3. قم بالتكوين والبناء باستخدام أمثلة النظام الأساسي المحددة مسبقًا مع التخصيص الاختياري عبر مفاتيح التبديل الشائعة:
      1. تعديل ثوابت وقت التحويل البرمجي OpenThread في المنصة المحددة /examples/platforms/ <platform> /openthread-core- <platform> -config.h file
      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 مع تمكين ميزة اكتشاف الانحشار:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

الثنائيات

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

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

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

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

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

OpenThread Daemon

OpenThread Daemon (OT Daemon) هو وضع بناء OpenThread POSIX يقوم بتشغيل OpenThread كخدمة ويستخدم مع تصميم RCP. لمزيد من المعلومات حول كيفية إنشائه واستخدامه ، راجع OpenThread Daemon .

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

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