Cara membuat OpenThread
Langkah-langkah untuk membangun 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 membangun langsung di mesin, lihat Codelab Simulasi untuk mengetahui petunjuk selengkapnya
- Untuk menggunakan container Docker dengan lingkungan yang telah dikonfigurasi sebelumnya,
download dan jalankan image OpenThread
environment:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- Dalam lingkungan yang Anda pilih, clone repositori Git OpenThread khusus platform. Mengambil CC2538 sebagai contoh:
git clone https://github.com/openthread/ot-cc2538.git --recursive - Dari direktori root repositori yang di-clone:
- Instal toolchain:
./script/bootstrap - Bangun konfigurasi:
./script/build platform-specific-args cmake-options
- Instal toolchain:
- Flash biner yang diinginkan ke platform target. Semua biner yang dihasilkan berada di
./build/bin.
Konfigurasi
Anda dapat mengonfigurasi OpenThread untuk fungsi dan perilaku yang berbeda selama proses build. Opsi konfigurasi yang tersedia dijelaskan di lokasi berikut:
| Jenis | Lokasi |
|---|---|
| Konstanta waktu kompilasi | Dicantumkan di semua file header di /src/core/config |
| Opsi build cmake | Terdaftar di /etc/cmake/options.cmake |
Contoh pembuatan
Gunakan opsi build cmake untuk mengaktifkan fungsi platform. Misalnya, untuk membangun biner untuk platform CC2538 dengan mengaktifkan dukungan Commissioner dan Joiner:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Atau, untuk membangun platform nRF52840 dengan fitur Deteksi Jam yang diaktifkan di repositorinya:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Biner
Biner berikut dibuat di ./build/bin dari proses build. Untuk menentukan biner mana yang dihasilkan, gunakan flag dengan perintah ./script/build. Misalnya, untuk membuat OpenThread dan hanya membuat 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 tanda, aplikasi tidak
dibuat, tetapi file library OpenThread tetap dibuat di ./build/lib untuk digunakan dalam project.
Periksa direktori examples/platforms untuk melihat tanda 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 untuk mem-flash biner ini bervariasi di berbagai platform contoh. Lihat README di folder contoh setiap platform untuk mengetahui 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 membangun dan menggunakannya, lihat Daemon OpenThread.
Membangun Paket Dukungan
Paket Dukungan Build (BSP) dapat ditemukan di
/third_party. BSP adalah kode pihak ketiga tambahan yang digunakan oleh OpenThread di setiap platform masing-masing, yang umumnya disertakan saat mem-porting OpenThread ke platform hardware baru.