איך לבנות OpenThread
השלבים לבניית OpenThread משתנים בהתאם לערכת הכלים, למכונת המשתמש ולפלטפורמת היעד.
תהליך העבודה הנפוץ ביותר הוא:
- מגדירים את סביבת הבנייה ומתקינים את מחזיק הכלים הרצוי:
- כדי לבנות את התוכנה ישירות במחשב, יש לעיין בהדמיה של קוד Lab לקבלת הוראות מפורטות
- כדי להשתמש בקונטיינר של אביזר עגינה עם סביבה שהוגדרה מראש,צריך להוריד ולהפעיל את התמונה של OpenThread
environment
:docker pull openthread/environment:latest
docker 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 |
אפשרויות ליצירת יצרן | רשום ביחידה הארגונית openthread/examples/README.md |
יצירת דוגמאות
יש להשתמש באפשרויות ליצירת שבבים כדי להפעיל פונקציונליות של פלטפורמה. לדוגמה, כדי ליצור קובץ בינארי של פלטפורמת CC2538 שמופעלת בה תמיכה של Commissioner ו-Memberer:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
לחלופין, כדי ליצור את פלטפורמת ה-nRF52840 יש להפעיל את התכונה 'זיהוי ג'אם' בגרסה שלה:
./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 |
מכשיר עם שרשור מלא לעיצובים של SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
מכשיר בעל חוט מינימלי לעיצובים של SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
מכשיר עם פרוטוקול Thread מלא שתוכנן על ידי Network Co-מעבד (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
לשימוש בפרויקט.
מעיינים בדוגמאות מידע נוסף על FTDs ו-MTD זמין ב-Thread Primer. מידע נוסף על עיצובים של SoC ו-NCP זמין בקטע Platforms.
התהליך לבינארי של קבצים בינאריים אלה משתנה בפלטפורמות שונות. לקבלת הוראות מפורטות, אפשר לעיין ב-README בכל פלטפורמה בתיקייה לדוגמה.
OpenDeemon דימון
OpenThread Daemon (OT Daemon) הוא מצב build של OpenThread POSIX שפועל בפתיחת OpenThread בתור שירות ומשתמשים בו עם עיצוב RCP. למידע נוסף על אופן השימוש במכשיר ועל השימוש בו, אפשר לעיין ב-OpenThread Daemon.
בניית חבילות תמיכה
ניתן למצוא חבילות תמיכה לבנייה (BSP) ב-/third_party
. BSP הוא קוד צד שלישי נוסף המשמש את Openthread בכל פלטפורמה, ובדרך כלל נכלל בהעברת OpenThread לפלטפורמה חדשה של חומרה.