OpenThread İçeriğini Derleme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Kaynağı GitHub'da göster

OpenThread nasıl oluşturulur?

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

En yaygın iş akışı şu şekildedir:

  1. Derleme ortamını kurun ve istediğiniz araç zincirini yükleyin:
    1. Doğrudan bir makine üzerinde derleme yapmak için ayrıntılı talimatlar için Simülasyon Kod Laboratuvarı'na bakın.
    2. Önceden yapılandırılmış bir ortama sahip bir Docker container'ı kullanmak için OpenThread environment görüntüsünü indirip çalıştırın:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. Seçtiğiniz ortamda, platforma özgü OpenThread Git deposunu klonlayın. CC2538 örneğini inceleyelim:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Klonlanan depodan's kök dizininde:
    1. Araç zincirini yükleyin:
      ./script/bootstrap
      
    2. Yapılandırmayı oluşturun:
      ./script/build platform-specific-args cmake-options
      
  4. İstediğiniz ikili programı hedef platforma aktarın. Oluşturulan tüm ikili programlar ./build/bin konumundadır.

Yapılandırma

OpenThread özelliğini, derleme işlemi sırasında farklı işlevler ve davranış için yapılandırabilirsiniz. Kullanılabilen yapılandırma seçenekleri aşağıdaki konumlarda ayrıntılı olarak açıklanmıştır:

Tür Konum
Derleme zamanı sabitleri /src/core/config alanındaki tüm başlık dosyalarında listelenir
cmake derleme seçenekleri openthread/examples/README.md içinde listeleniyor

Derleme örnekleri

Platform için işlevleri etkinleştirmek üzere Cbuild derleme seçeneklerini kullanın. Örneğin, komisyoncu ve birleştirici desteğin etkin olduğu CC2538 platformu için ikili program oluşturmak üzere:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

nRF52840 platformunu kod deposunda Jam Algılama özelliğini etkinleştirerek oluşturmak için:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

İkili

./build/bin ürününde derleme işleminden aşağıdaki ikili programlar oluşturulur. Hangi ikili programların oluşturulduğunu belirlemek için ./script/build komutuyla işaretleri kullanın. Örneğin, OpenThread derlemek ve yalnızca FTD CLI ikili programını oluşturmak için:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
İkili Açıklama Seçenekler
ot-cli-ftd SoC tasarımlar için tam Thread cihaz -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd SoC tasarımlar için minimum Thread cihazı -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Network Co-Processor (NCP) tasarımları için tam Thread cihazı -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd NCP tasarımları için minimum Thread cihazı -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Radyo ortak işlemci (RCP) tasarımı -DOT_APP_RCP=ON
-DOT_RCP=ON

Varsayılan olarak, yukarıdaki tüm işaretler etkinleştirilir. Tüm işaretleri açık bir şekilde devre dışı bırakırsanız uygulamalar oluşturulmaz ancak OpenThread kitaplık dosyaları bir projede kullanılmak üzere ./build/lib ürününde oluşturulmaya devam eder.

Her bir platformun hangi işaretleri desteklediğini görmek için examples/platforms dizinini kontrol edin. FTD ve MTD'ler hakkında daha fazla bilgi için Thread Primer sayfasına bakın. SoC ve NCP tasarımları hakkında daha fazla bilgi için Platformlar konusuna bakın.

Bu ikili değerleri hesaplama işlemi, örnek platformlar arasında farklılık gösterir. Ayrıntılı talimatlar için her bir platformdaki ÖRNEK METİNLERİ inceleyin.

OpenThread Arka Plan Programı

OpenThread Daemon (OT Daemon), hizmet olarak OpenThread'i çalıştıran ve RCP tasarımıyla kullanılan bir OpenThread POSIX derleme modudur. Bu SDK'yı derleme ve kullanma hakkında daha fazla bilgi edinmek için OpenThread Daemon sayfasına bakın.

Destek Paketleri Oluşturma

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