Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

בנה OpenThread

שרשראות כלים

שרשרת הכלים הנתמכת העיקרית לבניית OpenThread היא GNU Autotools.

GNU אוטוטולים

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

תצורה נוספת במהלך הבנייה עשויה להיות נחוצה, תלוי במקרה השימוש שלך.

אוטומוטולים של GNU - בניית מעבדות של Nest

מעבדות הקסט יצרו מסגרת מערכת לבניית סוהר מותאמת אישית, המבוססת על כלים אוטומטיים של GNU. זה משמש לחבילות תוכנה עצמאיות שצריכות לתמוך:

  • בנייה ומיקוד כנגד מערכות מארח לבנות עצמאיות
  • מערכות יעד משובצות המשתמשות ברשתות כלים מבוססות GCC או תואמות

מבנה ה- Nest Labs של GNU Autotools מומלץ לשימוש עם OpenThread מכיוון שחלק ממערכות המארח של build לא כוללות GNU Autols, או עשויות להיות בעלות גרסאות והפצות שונות. זה מוביל לפלט אוטומטי ראשוני ומשני לא עקבי, מה שמביא לחוויית משתמש ותמיכה שונים. בניית מעבדות Nest נמנעת מכך על ידי אספקת קבוצות מוסמכות מובנות מראש של GNU Autotools עם סקריפטים נלווים שאינם מסתמכים על הגרסאות של Autotools במערכת מארח ה- build.

פרויקט זה הוא בדרך כלל בתת-מסודר (או מתוכנן בתת-סוג) למאגר של פרויקט יעד ומשמש כזרע למערכת הבנייה של אותו פרויקט.

למידע נוסף או לשימוש בכלי זה לבניית OpenThread שלך, עיין ב README .

כיצד לבנות OpenThread

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

זרימת העבודה הנפוצה ביותר היא:

  1. הגדר את סביבת הבנייה והתקן את שרשרת הכלים הרצויה:
    1. לבנייה ישירה על מכונה, עיין בקוד Codelab לקבלת הוראות מפורטות
    2. כדי להשתמש במיכל Docker עם סביבה שהוגדרה מראש, הורד והפעל את תמונת environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. בסביבה שבחרת, שבט את מאגר OpenThread Git:
    git clone https://github.com/openthread/openthread
  3. מספריית השורשים של המאגר המשובט:
    1. התקן את שרשרת הכלים של GNU ותלות אחרות (אופציונלי):
      ./script/bootstrap
    2. הגדר את הסביבה:
      ./bootstrap
    3. הגדר ובנה באמצעות דוגמאות פלטפורמה שהוגדרו מראש עם התאמה אישית אופציונלית באמצעות מתגים נפוצים:
      1. שנה קבועי זמן קומפילציה של OpenThread בקובץ /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. בנה את התצורה:
        make -f examples/Makefile-<platform> <switches>
  4. הבזק את הבינארי הרצוי לפלטפורמת היעד. כל הקבצים הבינאריים שנוצרו נמצאים ב- /output/ <platform> /bin . בעת שימוש במצב מתקדם, ה <platform> עשוי להיות ספציפי למכונת המשתמש. לדוגמא, x86_64-apple-darwin .

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

תְצוּרָה

אתה יכול להגדיר את OpenThread לפונקציונליות והתנהגויות שונות במהלך תהליך הבנייה. אפשרויות התצורה הזמינות מפורטות במיקומים הבאים:

סוּג מקום
קבועי זמן הידור מופיע בכל קבצי הכותרת ב- /src/core/config
מתגי בניית Makefile רשום ב /examples/common-switches.mk

בנה דוגמאות

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

make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1

לחלופין, כדי לבנות את הדוגמה nRF52840 כאשר התכונה לזיהוי ריבה מופעלת:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

בינאריות

הקבצים הבינאריים הבאים נוצרים ב- /output/ <platform> /bin מתהליך הבנייה. כדי לקבוע אילו קבצים בינאריים נוצרים, השתמש בתצורות דגל תצורה עם הפקודה ./configure כדי ליצור קובץ Makefile מעודכן לבנייה. לדוגמה, כדי לבנות OpenThread וליצור רק את קבצי הבינארי של CLI:

./configure --enable-cli
make
בינארי תיאור הגדר את דגלי האפשרויות
ot-cli-ftd מכשיר הברגה מלאה לעיצוב SoC --enable-cli
--enable-ftd
ot-cli-mtd מכשיר הברגה מינימלי לעיצוב SoC --enable-cli
--enable-mtd
ot-ncp-ftd מכשיר הברגה מלאה לתכנוני מעבד משותף ברשת (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd מכשיר הברגה מינימלי לעיצובי NCP --enable-ncp
--enable-mtd
ot-rcp עיצוב מעבד רדיו (RCP) --enable-ncp
--enable-radio-only

אם לא משתמשים בדגלים אלה ולא בדוגמת פלטפורמה, יישומים אינם בנויים אך קבצי ספריית OpenThread עדיין נוצרים ב- /output/ <platform> /lib לשימוש בפרויקט.

בדוק את Makefiles לדוגמה עבור כל פלטפורמה כדי לראות באילו דגלים כל פלטפורמה תומכת. לדוגמא, ה- TI CC2650 אינו תומך ב- FTD . לקבלת מידע נוסף אודות FTDs ו- MTDs, ראה את פריימר החוטים. למידע נוסף על עיצוב SoC ו- NCP, ראה פלטפורמות .

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

שרת OpenThread

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

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

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