גוגל מחויבת לקידום עצמי גזעי עבור קהילות שחורות. תראה איך.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

Build OpenThread

Toolchains

Toolchain הנתמך העיקרי לבניית OpenThread הוא GNU Autotools.

GNU Autotools

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

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

GNU Autotools - לבנות מעבדות Nest

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

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

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

פרויקט זה subtreed בדרך כלל (או Git submoduled) למאגר פרויקט היעד ומשמש הזרע עבור מערכת build של פרויקט זה.

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

איך לבנות OpenThread

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

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

  1. הגדרת הסביבה לבנות ולהתקין את toolchain הרצוי:
    1. כדי לבנות ישירות במחשב, לראות את הדמיית Codelab לקבלת הוראות מפורטות
    2. כדי להשתמש במכל דוקר עם סביבה מוגדרת מראש, להוריד ולהפעיל את OpenThread environment התמונה:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. בתוך הסביבה שבחרה, לשבט מאגר Git OpenThread:
     git clone https://github.com/openthread/openthread 
  3. מספריית השורש של המאגר המשובט:
    1. התקן את toolchain 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

דוגמאות Build

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

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

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

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

Binaries

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

 ./configure --enable-cli
make 
בינארי תיאור דגלי אפשרות Configure
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 מארח / 802.15.4 Controller עיצוב --enable-ncp
--enable-radio-only

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

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

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

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

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