בנייה של OpenThread

הצגת המקור ב-GitHub

איך לבנות את OpenThread

השלבים לבניית OpenThread משתנים בהתאם לכלי, למכונת המשתמשים ולפלטפורמת היעד.

תהליך העבודה הנפוץ ביותר הוא:

  1. מגדירים את סביבת ה-build ומתקינים את מחזיק הכלים הרצוי:
    1. כדי לבנות ישירות במחשב, יש לעיין במעבדת הסימולציה לקבלת הוראות מפורטות
    2. כדי להשתמש במאגר של אביזר עגינה עם סביבה מוגדרת מראש, מורידים ומפעילים את התמונה של OpenThread environment:
      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 לפונקציונליות ולהתנהגות שונות במהלך תהליך ה-build. אפשרויות התצורה הזמינות מפורטות במיקומים הבאים:

סוג מיקום
קבועים קבועים מופיע בכל קובצי הכותרת ב-/src/core/config
אפשרויות build של cmaker רשום ב-openthread/examples/README.md

דוגמאות לבנייה

יש להשתמש באפשרויות build של cmaker כדי להפעיל פונקציונליות עבור הפלטפורמה. לדוגמה, כדי לבנות את הקובץ הבינארי לפלטפורמת CC2538 עם תמיכה ב'נציב' וב'הצטרפות':

./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 מכשיר עם שרשור מינימלי לעיצובי SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd מכשיר עם Thread מלא לעיצובים במעבד רשת משותף (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 לשימוש בפרויקט.

עיינו בדוגמה של MakeFiles עבור כל פלטפורמה כדי לראות אילו סימונים תומכים בכל פלטפורמה. לקבלת מידע נוסף על FTD ו-MTDs, כדאי לעיין בPhread Primer. למידע נוסף על עיצובי SoC ו-NCP, עיינו בפלטפורמות.

התהליך המיועד לבינארי של קבצים בינאריים אלה משתנה בין פלטפורמות לדוגמה. לקבלת הוראות מפורטות, עיינו בקריאות לפעולה בתיקייה לדוגמה של כל פלטפורמה.

חגיגת דימון של OpenThread

OpenThread Daemon (OT Daemon) הוא מצב build של OpenThread POSIX שפועל ב-OpenThread כשירות ונמצא בשימוש בעיצוב RCP. לקבלת מידע נוסף על הבנייה והשימוש בו, ראו OpenThread Daemon.

בניית חבילות תמיכה

ניתן למצוא חבילות תמיכה (BSP) ב- /third_party. BSP הוא קוד נוסף של צד שלישי המשמש את OpenThread בכל פלטפורמה, והוא בדרך כלל נכלל כשמעבירים את OpenThread לפלטפורמת חומרה חדשה.