Cara membuat 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 komputer, lihat Codelab Simulasi untuk petunjuk selengkapnya
- Untuk menggunakan container Docker dengan lingkungan yang telah dikonfigurasi sebelumnya, download dan jalankan gambar
environment
OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Dalam lingkungan pilihan Anda, clone repositori OpenThread Git khusus platform. Pengambilan 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:
- Mem-flash biner yang diinginkan ke platform target. Semua biner yang dihasilkan
berada di
./build/bin
.
Konfigurasi
Anda dapat mengonfigurasi OpenThread untuk berbagai fungsi dan perilaku selama proses build. Opsi konfigurasi yang tersedia diperinci pada lokasi berikut:
Jenis | Lokasi |
---|---|
Konstanta waktu kompilasi | Tercantum di semua file header di /src/core/config |
opsi build cmake | Tercantum di openthread/examples/README.md |
Contoh build
Gunakan opsi build cmake untuk mengaktifkan fungsi platform. Misalnya, untuk membuat biner bagi platform CC2538 dengan dukungan Komisaris dan Joiner yang diaktifkan:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Atau, untuk membuat platform nRF52840 dengan fitur Jam Deteksi yang diaktifkan dalam reponya:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Biner
Biner berikut dihasilkan di ./build/bin
dari proses build. Untuk menentukan biner yang dihasilkan, gunakan flag dengan perintah ./script/build
. Misalnya, untuk membuat OpenThread dan hanya menghasilkan biner CLI FTD:
./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 secara eksplisit menonaktifkan semua flag, aplikasi tidak akan dibuat, tetapi file library OpenThread masih dibuat di ./build/lib
untuk digunakan dalam project.
Periksa contoh Makefiles untuk setiap platform guna melihat flag yang didukung setiap platform. Untuk informasi selengkapnya tentang FTD dan MTD, lihat Thread Primer. Untuk mengetahui informasi selengkapnya tentang desain SoC dan NCP, lihat Platform.
Proses untuk mem-flash biner ini bervariasi di seluruh contoh platform. Lihat file README di folder contoh setiap platform untuk mengetahui petunjuk terperinci.
Daemon OpenThread
OpenThread Daemon (OT Daemon) adalah mode build OpenThread POSIX yang menjalankan OpenThread sebagai layanan dan digunakan dengan desain RCP. Untuk informasi selengkapnya tentang cara mem-build dan menggunakannya, lihat OpenThread Daemon.
Membuat Paket Dukungan
Paket Dukungan Build (BSP) ditemukan di
/third_party
. BSP adalah kode pihak ketiga tambahan yang digunakan oleh OpenThread di setiap platform, umumnya disertakan saat mentransfer OpenThread ke platform hardware baru.