איך לבנות OpenThread
השלבים לבניית OpenThread משתנים בהתאם ל-toolschain, למכונה של המשתמש ולפלטפורמת היעד.
תהליך העבודה הנפוץ ביותר הוא:
- מגדירים את סביבת ה-build ומתקינים את ארגז הכלים הרצוי:
- כדי ליצור ישירות ממחשב, יש לעיין בהדמיה של Codelab לקבלת הוראות מפורטות
- כדי להשתמש בקונטיינר ב-Docker עם סביבה שהוגדרה מראש,
מורידים ומפעילים את התמונה של OpenThread
environment
: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
- מתקינים את ערכת הכלים:
- קובץ הבינארי שבחרת מתאים לפלטפורמת היעד. כל הקבצים הבינאריים שנוצרו נמצאים ב-
./build/bin
.
הגדרה
אתם יכולים להגדיר את OpenThread לפונקציות ולהתנהגות שונים במהלך היצירה. אפשרויות ההגדרה הזמינות מפורטות במיקומים הבאים:
סוג | מיקום |
---|---|
קבועים של שעת ההידור | רשומים בכל קובצי הכותרת ב-/src/core/config |
אפשרויות יצרן | רשום בopenthread/examples/README.md |
יצירת דוגמאות
משתמשים באפשרויות build לפיתוח כדי להפעיל את הפונקציונליות עבור הפלטפורמה. לדוגמה, כדי ליצור תוכנה בינארית לפלטפורמת 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 |
מכשיר עם חוט מלא לעיצובי SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
מכשיר עם חיבור חוטי מינימלי לתכנון SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
מכשיר עם שרשור מלא לעיצובים של מעבדי רשת משותפים (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
לשימוש בפרויקט.
במדריך examples/platforms
מוסבר אילו סימונים נתמכים בכל פלטפורמה. מידע נוסף על FTD ו-MTD זמין במאמר Thread Primer. מידע נוסף על עיצובי SoC ו-NCP זמין במאמר פלטפורמות.
התהליך להבהוב הקבצים הבינאריים משתנה בהתאם לפלטפורמות לדוגמה. ההוראות המפורטות מפורטות בתיקיית הדוגמאות של כל פלטפורמה.
דיון Openon Daemon
OpenThread Daemon (OT Daemon) הוא מצב build של OpenThread POSIX שמפעיל את OpenThread בתור שירות ומשמש לשימוש עם עיצוב RCP. למידע נוסף על הבנייה ושימוש, אפשר לעיין ב-OpenThread Daemon.
בניית חבילות תמיכה
אפשר למצוא חבילות תמיכה (BSP) ב-/third_party
. BSP הם קוד נוסף של צד שלישי שמשמש את OpenThread בכל פלטפורמה מתאימה, ובדרך כלל זה כלול כשמעבירים את OpenThread לפלטפורמת חומרה חדשה.