OpenThread را بسازید

مشاهده منبع در گیت‌هاب

نحوه ساخت OpenThread

مراحل ساخت OpenThread بسته به ابزار، دستگاه کاربر و پلتفرم هدف متفاوت است.

رایج‌ترین گردش کار عبارت است از:

  1. محیط ساخت را تنظیم کنید و ابزار مورد نظر را نصب کنید:
    1. برای ساخت مستقیم روی یک ماشین، برای دستورالعمل‌های دقیق به Simulation Codelab مراجعه کنید.
    2. برای استفاده از یک کانتینر داکر با محیط از پیش پیکربندی شده، تصویر environment OpenThread را دانلود و اجرا کنید:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. در محیط انتخابی خود، مخزن گیت OpenThread مخصوص پلتفرم را کلون کنید. به عنوان مثال 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 فهرست شده در /etc/cmake/options.cmake

ساخت نمونه‌ها

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

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

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

./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 دستگاه تمام رشته‌ای برای طراحی‌های SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd دستگاه رشته‌ای مینیمال برای طراحی‌های SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd دستگاه تمام رشته‌ای برای طراحی‌های کمک پردازنده شبکه (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd دستگاه رزوه حداقلی برای طرح‌های 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، به Platforms مراجعه کنید.

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

دیمون OpenThread

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

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

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