Cara mem-build OpenThread
Langkah-langkah untuk mem-build OpenThread bervariasi, bergantung pada toolchain, mesin pengguna, dan platform target.
Alur kerja yang paling umum adalah:
- Siapkan lingkungan build dan instal toolchain yang diinginkan:
- Untuk mem-build langsung di mesin, lihat Codelab Simulasi untuk petunjuk mendetail
- Untuk menggunakan container Docker dengan lingkungan yang telah dikonfigurasi sebelumnya, download dan jalankan image
environment
OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Dalam lingkungan yang dipilih, clone repositori Git OpenThread khusus platform. Menggunakan CC2538 sebagai contoh:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Dari direktori utama repositori yang di-clone:
- Instal toolchain:
./script/bootstrap
- Buat konfigurasi:
./script/build platform-specific-args cmake-options
- Instal toolchain:
- Melakukan flash biner yang diinginkan ke platform target. Semua biner yang dihasilkan
terletak di
./build/bin
.
Konfigurasi
Anda dapat mengonfigurasi OpenThread untuk fungsionalitas dan perilaku yang berbeda selama proses build. Opsi konfigurasi yang tersedia dijelaskan secara terperinci di lokasi berikut:
Jenis | Location |
---|---|
Konstanta waktu kompilasi | Dicantumkan di semua file header dalam /src/core/config |
opsi build cmake | Tercantum di openthread/examples/README.md |
Contoh build
Menggunakan opsi build cmake untuk mengaktifkan fungsionalitas bagi platform. Misalnya, untuk membuat biner untuk platform CC2538 dengan dukungan Commissioner and Joiner diaktifkan:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Atau, untuk membuat platform nRF52840 dengan fitur Jam Detection yang diaktifkan di reponya:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Biner
Biner berikut dibuat di ./build/bin
dari proses build. Untuk menentukan biner yang dihasilkan, gunakan flag dengan perintah ./script/build
. Misalnya, untuk mem-build OpenThread dan hanya membuat 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 Penuh 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 dalam ./build/lib
untuk digunakan dalam project.
Periksa direktori examples/platforms
untuk melihat tanda yang didukung oleh setiap platform. Untuk informasi lebih lanjut tentang FTD dan MTD, lihat
Thread Primer. Untuk
informasi selengkapnya tentang desain SoC dan NCP, lihat Platform.
Proses untuk mem-flash biner ini bervariasi di berbagai platform contoh. Lihat README di folder contoh masing-masing platform untuk mendapatkan petunjuk mendetail.
Daemon OpenThread
OpenThread Daemon (OT Daemon) adalah mode build OpenThread POSIX yang menjalankan OpenThread sebagai layanan dan digunakan dengan desain RCP. Untuk informasi cara mem-build dan menggunakannya, lihat OpenThread Daemon.
Mem-build Paket Dukungan
Paket Dukungan Build (BSP) ditemukan di
/third_party
. BSP adalah kode pihak ketiga tambahan yang digunakan oleh OpenThread pada setiap platform masing-masing, umumnya disertakan saat porting OpenThread ke platform hardware baru.