איך בונים את OpenThread
השלבים לבניית OpenThread משתנים בהתאם ל-toolchain, למכונה של המשתמש ול- פלטפורמת היעד.
תהליך העבודה הנפוץ ביותר הוא:
- מגדירים את סביבת ה-build ומתקינים את 'צרור הכלים' הרצוי:
- כדי לפתח ישירות במכונה,ניתן לקבל הוראות מפורטות ב-Simulation Codelab
- כדי להשתמש בקונטיינר של Docker בסביבה מוגדרת מראש,
מורידים ומפעילים את קובץ האימג'
environment
של OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- משכפלים בסביבה שבחרתם את מאגר ה-OpenThread Git הספציפי לפלטפורמה. ניקח לדוגמה את CC2538:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- מספריית השורש של המאגר המשוכפל:
- מתקינים את 'צרור הכלים':
./script/bootstrap
- יוצרים את ההגדרות האישיות:
./script/build platform-specific-args cmake-options
- מתקינים את 'צרור הכלים':
- Flash את הקובץ הבינארי הרצוי לפלטפורמת היעד. כל הקבצים הבינאריים שנוצרו
נמצא ב-
./build/bin
.
תצורה
אפשר להגדיר ל-OpenThread פונקציונליות והתנהגות שונות במהלך תהליך ה-build. אפשרויות ההגדרה הזמינות מפורטות בהמשך מיקומים:
סוג | מיקום |
---|---|
קבועים של זמן הידור | רשימה בכל קובצי הכותרות ב-/src/core/config |
אפשרויות build של cmake | רשום באזור openthread/examples/README.md |
דוגמאות לבנייה
להשתמש באפשרויות build של cmake כדי להפעיל פונקציונליות לפלטפורמה. לדוגמה, כדי לבנות את הקובץ הבינארי לפלטפורמה CC2538 כשהתמיכה ב- Commissioner וב-Connecter מופעלת:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
לחלופין, כדי לפתח את הפלטפורמה nRF52840 באמצעות התכונה זיהוי Jam שמופעל במאגר שלו:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
קבצים בינאריים
הקבצים הבינאריים הבאים נוצרים ב-./build/bin
מתהליך ה-build. כדי לקבוע אילו קבצים בינאריים נוצרים, משתמשים בדגלים עם הפקודה ./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 |
מכשיר פרוטוקול Thread מלא לעיצובי SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
מכשיר פרוטוקול Thread מינימלי לעיצובי SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
מכשיר פרוטוקול Thread מלא לעיצובים של מעבדי רשת (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
מכשיר פרוטוקול 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 בכל פלטפורמה תיקייה לדוגמה כדי לקבל הוראות מפורטות.
דימון (Daemon) של OpenThread
OpenThread Daemon (OT Daemon) הוא מצב build של OpenThread POSIX שרץ OpenThread כשירות ומשתמשים בו בעיצוב ה-RCP. מידע נוסף על במאמר OpenThread Daemon תוכלו ללמוד איך לפתח אותו ולהשתמש בו.
בניית חבילות תמיכה
חבילות התמיכה של Build (BSP) נמצאות ב-
/third_party
BSP הם קוד נוסף של צד שלישי שמשמש את OpenThread בכל פלטפורמה מתאימה, והם נכללים בדרך כלל כאשר מעבירים OpenThread לפלטפורמת חומרה חדשה.