Mem-build OpenThread

Lihat sumber di GitHub

Cara mem-build OpenThread

Langkah-langkah untuk membuat OpenThread bervariasi bergantung pada toolchain, mesin pengguna, dan platform target.

Alur kerja yang paling umum adalah:

  1. Siapkan lingkungan build dan instal toolchain yang diinginkan:
    1. Untuk mem-build langsung di mesin, lihat Codelab Simulasi untuk petunjuk mendetail
    2. Untuk menggunakan container Docker dengan lingkungan yang telah dikonfigurasi sebelumnya, download dan jalankan image OpenThread environment:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. Dalam lingkungan yang Anda pilih, clone repositori OpenThread Git khusus platform. Menggunakan CC2538 sebagai contoh:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Dari direktori utama repositori yang di-clone:
    1. Instal toolchain:
      ./script/bootstrap
      
    2. Build konfigurasi:
      ./script/build platform-specific-args cmake-options
      
  4. Melakukan flash biner yang diinginkan ke platform target. Semua biner yang dihasilkan terletak di ./build/bin.

Konfigurasi

Anda dapat mengonfigurasi OpenThread untuk berbagai fungsi dan perilaku selama proses build. Opsi konfigurasi yang tersedia diperinci di lokasi berikut:

Jenis Lokasi
Konstanta waktu kompilasi Tercantum di semua file header di /src/core/config
opsi build cmake Terdaftar di openthread/examples/README.md

Contoh build

Menggunakan opsi build cmake untuk mengaktifkan fungsionalitas platform. Misalnya, untuk mem-build biner bagi platform CC2538 dengan dukungan Commissioner dan Joiner:

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

Atau, untuk mem-build platform nRF52840 dengan fitur Deteksi Jam dalam repo-nya:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Biner

Biner berikut dibuat di ./build/bin dari proses build. Untuk menentukan biner mana yang dibuat, gunakan flag dengan perintah ./script/build. Misalnya, untuk mem-build OpenThread dan hanya menghasilkan biner 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
Biner Deskripsi Opsi
ot-cli-ftd Perangkat Thread Lengkap untuk desain SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Perangkat Thread Minimal untuk desain SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Perangkat Thread lengkap untuk desain Network Co-Processor (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Perangkat Thread Minimal untuk desain NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Desain Radio Co-Processor (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Secara default, semua tanda di atas diaktifkan. Jika Anda menonaktifkan semua flag secara eksplisit, aplikasi tidak akan dibuat, tetapi file library OpenThread masih dibuat di ./build/lib untuk digunakan dalam project.

Periksa direktori examples/platforms untuk melihat flag yang didukung setiap platform. Untuk mengetahui informasi selengkapnya tentang FTD dan MTD, lihat Thread Primer. Untuk informasi selengkapnya tentang desain SoC dan NCP, lihat Platform.

Proses mem-flash biner ini bervariasi di berbagai platform contoh. Lihat README di folder contoh setiap platform untuk petunjuk mendetail.

Daemon OpenThread

OpenThread Daemon (OT Daemon) adalah mode build POSIX OpenThread yang menjalankan OpenThread sebagai layanan dan digunakan dengan desain RCP. Untuk mengetahui informasi selengkapnya tentang cara mem-build dan menggunakannya, lihat OpenThread Daemon.

Membuat Paket Dukungan

Build Support Package (BSP) ditemukan di /third_party. BSP adalah kode pihak ketiga tambahan yang digunakan oleh OpenThread di setiap platform masing-masing, umumnya disertakan saat porting OpenThread ke platform hardware baru.