Google is committed to advancing racial equity for Black communities. See how.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

OpenThread را بسازید

ابزارهای دستی

ابزار اصلی پشتیبانی شده برای ساخت OpenThread ابزارهای خودکار GNU است.

ابزارهای خودکار GNU

دستورالعمل های ساخت نمونه ها با ابزارهای خودکار GNU را می توان در پوشه پلت فرم هر مثال یافت. توجه داشته باشید که هدف این مثال ها نشان دادن حداقل کدی است که برای اجرای OpenThread در هر پلت فرم مربوطه لازم است. بدین ترتیب ، آنها تواناییهای کامل پلتفرم را برجسته نمی کنند.

بسته به مورد استفاده ، ممکن است پیکربندی بیشتر در هنگام ساخت لازم باشد.

ابزارهای خودکار GNU - آزمایشگاه های Nest ساخته می شوند

آزمایشگاه های Nest بر اساس ابزارهای خودکار GNU یک چارچوب سیستم سفارشی و ساخت کلید در دست ایجاد کرده اند. این برای بسته های نرم افزاری مستقل که نیاز به پشتیبانی دارند استفاده می شود:

  • ایجاد و هدف قرار دادن سیستم های میزبان ساخت مستقل
  • سیستم های هدف تعبیه شده با استفاده از ابزارهای مبتنی بر GCC یا سازگار

ساخت Nest Labs از ابزارهای خودکار GNU برای استفاده با OpenThread توصیه می شود زیرا برخی از سیستم های میزبان ساخت ممکن است از ابزار خودکار GNU برخوردار نباشند یا نسخه ها و توزیع های مختلفی داشته باشند. این امر منجر به ناسازگاری خروجی وسایل نقلیه اصلی و ثانویه می شود که منجر به تجربه پشتیبانی کاربر و کاربر متفاوت می شود. ساخت Nest Labs با تهیه مجموعه ای از پیش ساخته و واجد شرایط GNU با اسکریپت های مرتبط که به نسخه های Autotools در سیستم میزبان build اعتماد ندارند ، از این کار جلوگیری می کند.

این پروژه به طور معمول در مخزن پروژه هدف فرعی (یا زیرمدلسازی می شود) و به عنوان هسته سیستم ساخت آن پروژه عمل می کند.

برای کسب اطلاعات بیشتر ، یا استفاده از این ابزار برای ساخت 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. ابزار ابزار GNU و سایر وابستگی ها را نصب کنید (اختیاری):
      ./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 را می توان در پوشه پلت فرم هر مثال یافت.

پیکربندی

شما می توانید OpenThread را برای عملکردها و رفتارهای مختلف در طی مراحل ساخت پیکربندی کنید. گزینه های پیکربندی موجود به تفصیل در مکان های زیر آورده شده است:

تایپ کنید محل
ثابت های زمان کامپایل در تمام پرونده های هدر در /src/core/config
سوئیچ های ساخت Makefile در /examples/common-switches.mk لیست شده است

نمونه هایی بسازید

برای فعال کردن قابلیت های یک پلت فرم نمونه ، از یک سوئیچ استفاده کنید. به عنوان مثال ، برای ساختن نمونه CC2538 با پشتیبانی کمیسار و Joiner:

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

یا ، برای ساختن مثال nRF52840 با قابلیت Jam Detection فعال است:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

باینری ها

باینریهای زیر از طریق فرایند ساخت /output/ <platform> /bin تولید می شوند. برای تعیین اینکه کدام باینری تولید می شود ، از پرچم های گزینه configure با دستور ./configure تا یک Makefile به روز شده برای ساخت ایجاد کنید. به عنوان مثال ، برای ساخت OpenThread و تولید فقط باینری CLI:

./configure --enable-cli
make
دودویی شرح پرچم های گزینه را پیکربندی کنید
ot-cli-ftd دستگاه Full Thread برای طراحی SoC --enable-cli
--enable-ftd
ot-cli-mtd دستگاه Minimal Thread برای طراحی SoC --enable-cli
--enable-mtd
ot-ncp-ftd دستگاه Full Thread برای طراحی پردازنده شبکه (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd دستگاه Minimal Thread برای طراحی های NCP --enable-ncp
--enable-mtd
ot-rcp طراحی هم پردازنده رادیویی (RCP) --enable-ncp
--enable-radio-only

اگر نه از این پرچم ها و نه از یک نمونه پلتفرم استفاده نشود ، برنامه ها ساخته نمی شوند اما پرونده های کتابخانه OpenThread همچنان در /output/ <platform> /lib برای استفاده در یک پروژه تولید می شوند.

نمونه Makefiles را برای هر سیستم عامل بررسی کنید تا ببینید کدام پلت فرم از کدام پرچم ها پشتیبانی می کند. به عنوان مثال ، TI CC2650 از FTD پشتیبانی نمی کند . برای کسب اطلاعات بیشتر در مورد FTDs و MTDs ، به موضوع اولیه مراجعه کنید . برای اطلاعات بیشتر در مورد طراحی SoC و NCP ، به Platforms مراجعه کنید.

روند فلش این باینری ها در سیستم عامل های مختلف متفاوت است. برای مشاهده دستورالعمل های دقیق ، به README های موجود در پوشه نمونه هر پلت فرم مراجعه کنید .

OpenThread Daemon

OpenThread Daemon (OT Daemon) یک حالت ساخت OpenThread POSIX است که OpenThread را به عنوان سرویس اجرا می کند و با طراحی RCP استفاده می شود. برای اطلاعات بیشتر در مورد نحوه ساخت و استفاده از آن ، به OpenThread Daemon مراجعه کنید.

بسته های پشتیبانی بسازید

بسته های پشتیبانی ساخت (BSP) در /third_party یافت می /third_party . BSP ها کدهای شخص ثالث اضافی هستند که توسط OpenThread در هر پلتفرم مربوطه استفاده می شوند ، به طور کلی هنگام انتقال OpenThread به یک سیستم عامل سخت افزاری جدید ، شامل می شوند.