Cara mem-build OpenThread
Langkah-langkah untuk membuat 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 OpenThread
environment
:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- 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
- Dari direktori utama repositori yang di-clone:
- Instal toolchain:
./script/bootstrap
- Build 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 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.