Google अश्वेत समुदायों के लिए नस्लीय इक्विटी को आगे बढ़ाने के लिए प्रतिबद्ध है। देखो कैसे।
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

OpenThread बनाएँ

toolchains

OpenThread के निर्माण के लिए प्राथमिक समर्थित टूलचेन GNU ऑटोटूलस है।

GNU ऑटोटूलस

जीएनयू ऑटोटूल के साथ उदाहरण बनाने के निर्देश प्रत्येक उदाहरण के प्लेटफॉर्म फ़ोल्डर में पाए जा सकते हैं। ध्यान दें कि इन उदाहरणों का इरादा प्रत्येक संबंधित प्लेटफ़ॉर्म पर OpenThread को चलाने के लिए आवश्यक न्यूनतम कोड दिखाना है। जैसे, वे मंच की पूर्ण क्षमताओं को उजागर नहीं करते हैं।

बिल्ड के दौरान आगे की कॉन्फ़िगरेशन आपके उपयोग के मामले के आधार पर आवश्यक हो सकती है।

GNU ऑटोटॉल्स - नेस्ट लैब्स का निर्माण

नेस्ट लैब्स ने GNU ऑटोटूलस के आधार पर एक कस्टमाइज़्ड, टर्नकी बिल्ड सिस्टम फ्रेमवर्क बनाया है। इसका उपयोग स्टैंडअलोन सॉफ़्टवेयर पैकेजों के लिए किया जाता है जिन्हें समर्थन करने की आवश्यकता होती है:

  • स्टैंडअलोन के खिलाफ निर्माण और लक्ष्यीकरण मेजबान सिस्टम का निर्माण करते हैं
  • जीसीसी-आधारित या असंगत टूलचिन का उपयोग करके एम्बेडेड लक्ष्य प्रणाली

GNU ऑटोटूलस के नेस्ट लैब्स बिल्ड का उपयोग OpenThread के साथ करने की सलाह दी जाती है क्योंकि कुछ बिल्ड होस्ट सिस्टम में GNU ऑटोटूल नहीं हो सकते हैं, या उनके अलग-अलग संस्करण और वितरण हो सकते हैं। यह असंगत प्राथमिक और माध्यमिक ऑटोटूलस आउटपुट की ओर जाता है, जिसके परिणामस्वरूप एक भिन्न उपयोगकर्ता और समर्थन अनुभव होता है। नेस्ट लैब्स ने संबंधित स्क्रिप्ट के साथ एक पूर्व-निर्मित, जीएनयू ऑटोटूल के योग्य सेट प्रदान करके इससे बचा जाता है जो बिल्ड होस्ट सिस्टम पर ऑटोटूल के संस्करणों पर भरोसा नहीं करते हैं।

यह परियोजना आम तौर पर एक लक्ष्य परियोजना रिपॉजिटरी में उप-प्रस्तुत (या जीआईटी सबमोडिल्ड) होती है और उस परियोजना की निर्माण प्रणाली के लिए बीज के रूप में कार्य करती है।

अधिक जानने के लिए, या अपने OpenThread बिल्ड के लिए इस टूल का उपयोग करने के लिए, README देखें।

OpenThread का निर्माण कैसे करें

OpenThread बनाने के चरण टूलचिन, उपयोगकर्ता मशीन और लक्ष्य प्लेटफ़ॉर्म के आधार पर भिन्न होते हैं।

सबसे आम वर्कफ़्लो है:

  1. बिल्ड वातावरण सेट करें और वांछित टूलकिन स्थापित करें:
    1. मशीन पर सीधे निर्माण के लिए, विस्तृत निर्देशों के लिए सिमुलेशन कोडेलैब देखें
    2. पूर्व-कॉन्फ़िगर किए गए वातावरण के साथ डॉकटर कंटेनर का उपयोग करने के लिए, OpenThread environment छवि डाउनलोड और चलाएं:
       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 फ़ाइल में /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. कॉन्फ़िगरेशन बनाएँ:
         make -f examples/Makefile- <platform> <switches> 
  4. लक्ष्य प्लेटफ़ॉर्म पर वांछित बाइनरी फ्लैश करें। सभी उत्पन्न बायनेरिज़ /output/ <platform> /bin । उन्नत मोड का उपयोग करते समय, <platform> उपयोगकर्ता की मशीन के लिए विशिष्ट हो सकता है। उदाहरण के लिए, x86_64-apple-darwin

जीएनयू ऑटोटूलस के साथ समर्थित प्लेटफार्मों के निर्माण पर विशिष्ट निर्देश प्रत्येक उदाहरण के मंच फ़ोल्डर में पाए जा सकते हैं।

विन्यास

आप निर्माण प्रक्रिया के दौरान विभिन्न कार्यक्षमता और व्यवहार के लिए OpenThread को कॉन्फ़िगर कर सकते हैं। उपलब्ध कॉन्फ़िगरेशन विकल्प निम्नलिखित स्थानों पर विस्तृत हैं:

प्रकार स्थान
संकलन-समय की कमी सभी हेडर फ़ाइलों में /src/core/config में सूचीबद्ध
मेकफाइल बिल्ड स्विच /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 में उत्पन्न होते हैं। यह निर्धारित करने के लिए कि कौन सी बायनेरिज़ उत्पन्न की गई है, भवन के लिए एक अपडेटेड Makefile उत्पन्न करने के लिए ./configure कमांड के साथ कॉन्फ़िगर विकल्प झंडे का उपयोग करें। उदाहरण के लिए, 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 एनसीपी डिजाइन के लिए फुल थ्रेड डिवाइस --enable-ncp
--enable-ftd
ot-ncp-mtd एनसीपी डिजाइन के लिए न्यूनतम धागा डिवाइस --enable-ncp
--enable-mtd
ot-rcp होस्ट / 802.15.4 नियंत्रक डिजाइन --enable-ncp
--enable-radio-only

यदि न तो ये झंडे और न ही एक मंच उदाहरण का उपयोग नहीं किया जाता है, तो अनुप्रयोग निर्मित नहीं होते हैं, लेकिन OpenThread लाइब्रेरी फ़ाइलों को अभी भी /output/ <platform> /lib प्रोजेक्ट में उपयोग के लिए /output/ <platform> /lib के रूप में जनरेट किया जाता है।

प्रत्येक प्लेटफ़ॉर्म का समर्थन करने वाले फ़्लैग करने के लिए प्रत्येक प्लेटफ़ॉर्म के लिए उदाहरण Makefiles की जाँच करें। उदाहरण के लिए, TI CC2650 FTDs का समर्थन नहीं करता है । FTDs और MTDs के बारे में अधिक जानकारी के लिए, थ्रेड प्राइमर देखें। SoC और NCP डिज़ाइन के बारे में अधिक जानकारी के लिए, प्लेटफ़ॉर्म देखें।

इन बायनेरिज़ को फ्लैश करने की प्रक्रिया उदाहरण के प्लेटफार्मों में भिन्न होती है। विस्तृत निर्देशों के लिए प्रत्येक प्लेटफ़ॉर्म के उदाहरण फ़ोल्डर में README देखें।

समर्थन पैकेज बनाएँ

बिल्ड सपोर्ट पैकेज (BSP) /third_party में पाए जाते हैं। बीएसपी प्रत्येक संबंधित प्लेटफ़ॉर्म पर OpenThread द्वारा उपयोग किए जाने वाले अतिरिक्त तृतीय-पक्ष कोड हैं, आमतौर पर OpenThread को नए हार्डवेयर प्लेटफ़ॉर्म में पोर्ट करते समय शामिल किया जाता है।