Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

OpenThread oluşturun

Alet zincirleri

OpenThread oluşturmak için desteklenen birincil araç zinciri GNU Autotools'dur.

GNU Autotools

GNU Autotools ile örnek oluşturmaya ilişkin talimatlar her örneğin platform klasöründe bulunabilir . Bu örneklerin amacının, her bir ilgili platformda OpenThread çalıştırmak için gereken minimum kodu göstermek olduğuna dikkat edin. Bu nedenle, platformun tüm yeteneklerini vurgulamıyorlar.

Kullanım durumunuza bağlı olarak, derlemeler sırasında daha fazla yapılandırma gerekli olabilir.

GNU Autotools - Nest Labs derlemesi

Nest Labs, GNU Autotools'u temel alan özelleştirilmiş, anahtar teslimi bir derleme sistemi çerçevesi oluşturdu. Bu, aşağıdakileri desteklemesi gereken bağımsız yazılım paketleri için kullanılır:

  • bağımsız derleme ana bilgisayar sistemleri üzerine inşa etme ve bunlara karşı hedefleme
  • GCC tabanlı veya uyumlu araç zincirleri kullanan gömülü hedef sistemler

GNU Autotools'un Nest Labs derlemesinin OpenThread ile kullanılması tavsiye edilir, çünkü bazı yapı ana bilgisayar sistemlerinde GNU Autotools olmayabilir veya farklı sürümleri ve dağıtımları olabilir. Bu, tutarsız birincil ve ikincil Autotools çıktısına yol açar ve bu da farklı bir kullanıcı ve destek deneyimiyle sonuçlanır. Nest Labs derlemesi, derleme ana sistemindeki Autotools sürümlerine güvenmeyen ilişkili komut dosyalarıyla önceden oluşturulmuş, nitelikli bir GNU Autotools kümesi sağlayarak bunu önler.

Bu proje tipik olarak bir hedef proje havuzuna alt işlenir (veya git alt modüle edilir) ve o projenin derleme sistemi için tohum görevi görür.

Daha fazla bilgi edinmek ya da OpenThread kurar için bu aracı kullanmak için, bkz README .

OpenThread nasıl oluşturulur

OpenThread oluşturma adımları, araç zincirine, kullanıcı makinesine ve hedef platforma bağlı olarak değişir.

En yaygın iş akışı:

  1. Derleme ortamını ayarlayın ve istenen araç zincirini kurun:
    1. Doğrudan bir makine üzerine inşa etmek için ayrıntılı talimatlar için Simülasyon Kod Laboratuvarı'na bakın
    2. Önceden yapılandırılmış bir ortamda bir Docker kapsayıcısı kullanmak için OpenThread environment görüntüsünü indirin ve çalıştırın:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. Seçtiğiniz ortamda OpenThread Git deposunu klonlayın:
    git clone https://github.com/openthread/openthread
  3. Klonlanmış deponun kök dizininden:
    1. GNU araç zincirini ve diğer bağımlılıkları kurun (isteğe bağlı):
      ./script/bootstrap
    2. Ortamı kurun:
      ./bootstrap
    3. Ortak anahtarlar aracılığıyla isteğe bağlı özelleştirme ile önceden tanımlanmış platform örneklerini kullanarak yapılandırın ve oluşturun:
      1. OpenThread derleme zamanı sabitlerini seçilen platformun /examples/platforms/ <platform> /openthread-core- <platform> -config.h dosyasında değiştirin
      2. Yapılandırmayı oluşturun:
        make -f examples/Makefile-<platform> <switches>
  4. İstenen ikili dosyayı hedef platforma gönderin. Üretilen tüm ikili dosyalar /output/ <platform> /bin . Gelişmiş Modu kullanırken, <platform> kullanıcının makinesine özel olabilir. Örneğin, x86_64-apple-darwin .

GNU Autotools ile desteklenen platformlar oluşturmaya ilişkin özel talimatlar her örneğin platform klasöründe bulunabilir .

Yapılandırma

Oluşturma işlemi sırasında OpenThread'i farklı işlevler ve davranışlar için yapılandırabilirsiniz. Mevcut yapılandırma seçenekleri aşağıdaki konumlarda ayrıntılı olarak açıklanmıştır:

Tür yer
Derleme zamanı sabitleri /src/core/config tüm başlık dosyalarında listelenmiştir
Makefile derleme anahtarları /examples/common-switches.mk içinde /examples/common-switches.mk

Örnekler oluşturun

Örnek bir platform için işlevselliği etkinleştirmek için bir anahtar kullanın. Örneğin, Commissioner ve Joiner desteği etkinken CC2538 örneğini oluşturmak için:

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

Veya, Sıkışma Algılama özelliği etkinken nRF52840 örneğini oluşturmak için:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

İkili dosyalar

Aşağıdaki ikili dosyalar, oluşturma işleminden /output/ <platform> /bin içinde oluşturulur. Hangi ikili dosyaların oluşturulduğunu belirlemek için, yapılandırmak üzere güncellenmiş bir Makefile oluşturmak için ./configure komutuyla birlikte yapılandırma seçenek bayraklarını kullanın. Örneğin, OpenThread oluşturmak ve yalnızca CLI ikililerini oluşturmak için:

./configure --enable-cli
make
İkili Açıklama Seçenek bayraklarını yapılandırın
ot-cli-ftd SoC tasarımları için tam dişli cihaz --enable-cli
--enable-ftd
ot-cli-mtd SoC tasarımları için Minimal Thread cihazı --enable-cli
--enable-mtd
ot-ncp-ftd NCP tasarımları için Tam Dişli cihaz --enable-ncp
--enable-ftd
ot-ncp-mtd NCP tasarımları için Minimal Thread cihazı --enable-ncp
--enable-mtd
ot-rcp Ana Bilgisayar / 802.15.4 Denetleyici tasarımı --enable-ncp
--enable-radio-only

Ne bu bayraklar ne de bir platform örneği kullanılmazsa, uygulamalar oluşturulmaz, ancak OpenThread kitaplık dosyaları bir projede kullanılmak üzere /output/ <platform> /lib içinde üretilir.

Her platformun hangi bayrakları desteklediğini görmek için her platform için örnek Makefiles'ı kontrol edin. Örneğin, TI CC2650, FTD'leri desteklemez . FTD'ler ve MTD'ler hakkında daha fazla bilgi için, Thread Primer'e bakın. SoC ve NCP tasarımları hakkında daha fazla bilgi için bkz. Platformlar .

Bu ikili dosyaları flaş etme süreci, örnek platformlar arasında farklılık gösterir. Ayrıntılı talimatlar için her platformun örnek klasöründeki README'lere bakın.

Destek Paketleri Oluşturun

Derleme Destek Paketleri (BSP'ler) /third_party . BSP'ler, OpenThread tarafından her bir ilgili platformda kullanılan ek üçüncü taraf kodlardır ve genellikle OpenThread'i yeni bir donanım platformuna taşırken dahil edilir.