نحوه ساخت OpenThread
مراحل ساخت OpenThread بسته به ابزار، دستگاه کاربر و پلتفرم هدف متفاوت است.
رایجترین گردش کار عبارت است از:
- محیط ساخت را تنظیم کنید و ابزار مورد نظر را نصب کنید:
- برای ساخت مستقیم روی یک ماشین، برای دستورالعملهای دقیق به Simulation Codelab مراجعه کنید.
- برای استفاده از یک کانتینر داکر با محیط از پیش پیکربندی شده، تصویر
environmentOpenThread را دانلود و اجرا کنید:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- در محیط انتخابی خود، مخزن گیت OpenThread مخصوص پلتفرم را کلون کنید. به عنوان مثال CC2538 را در نظر بگیرید:
git clone https://github.com/openthread/ot-cc2538.git --recursive - از دایرکتوری ریشه مخزن کلون شده:
- نصب ابزار زنجیرهای:
./script/bootstrap - پیکربندی را بسازید:
./script/build platform-specific-args cmake-options
- نصب ابزار زنجیرهای:
- فایل باینری مورد نظر را روی پلتفرم هدف فلش کنید. تمام فایلهای باینری تولید شده در
./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 به یک پلتفرم سختافزاری جدید گنجانده میشوند.