OpenThread را بسازید

مشاهده منبع در GitHub

نحوه ساخت OpenThread

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

رایج ترین گردش کار این است:

  1. محیط ساخت را تنظیم کنید و زنجیره ابزار مورد نظر را نصب کنید:
    1. برای ساخت مستقیم روی یک ماشین، برای دستورالعمل های دقیق به شبیه سازی Codelab مراجعه کنید
    2. برای استفاده از کانتینر Docker با یک محیط از پیش پیکربندی شده، تصویر environment OpenThread را دانلود و اجرا کنید:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. در محیط انتخابی خود، مخزن OpenThread Git مخصوص پلتفرم را شبیه سازی کنید. CC2538 را به عنوان مثال در نظر بگیرید:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. از دایرکتوری ریشه مخزن کلون شده:
    1. زنجیره ابزار را نصب کنید:
      ./script/bootstrap
      
    2. پیکربندی را بسازید:
      ./script/build platform-specific-args cmake-options
      
  4. باینری مورد نظر را به پلتفرم هدف فلش کنید. همه باینری های تولید شده در ./build/bin قرار دارند.

پیکربندی

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

تایپ کنید مکان
کامپایل ثابت های زمان در تمام فایل های هدر در /src/core/config فهرست شده است
گزینه های ساخت cmake فهرست شده در openthread/examples/README.md

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

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

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

یا برای ساختن پلتفرم nRF52840 با قابلیت تشخیص Jam فعال در مخزن آن:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

باینری ها

باینری های زیر در ./build/bin از فرآیند ساخت تولید می شوند. برای تعیین اینکه کدام باینری ها تولید می شوند، از پرچم ها با دستور ./script/build استفاده کنید. به عنوان مثال، برای ساخت OpenThread و تولید تنها باینری FTD CLI:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
باینری توضیحات گزینه ها
ot-cli-ftd دستگاه Full Thread برای طراحی SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd دستگاه Minimal Thread برای طراحی SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd دستگاه Full Thread برای طراحی های شبکه Co-Processor (NCP). -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd دستگاه Minimal Thread برای طرح های NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp طراحی پردازنده مشترک رادیویی (RCP). -DOT_APP_RCP=ON
-DOT_RCP=ON

به طور پیش فرض، همه پرچم های بالا فعال هستند. اگر صراحتاً همه پرچم‌ها را غیرفعال کنید، برنامه‌ها ساخته نمی‌شوند اما فایل‌های کتابخانه OpenThread همچنان در ./build/lib برای استفاده در یک پروژه تولید می‌شوند.

فهرست examples/platforms را بررسی کنید تا ببینید هر پلتفرم از کدام پرچم‌ها پشتیبانی می‌کند. برای اطلاعات بیشتر در مورد FTD و MTD، به Thread Primer مراجعه کنید. برای اطلاعات بیشتر در مورد طراحی های SoC و NCP، به پلتفرم ها مراجعه کنید.

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

OpenThread Daemon

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

ساخت بسته های پشتیبانی

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