Cara membuat OpenThread
Langkah-langkah untuk membangun OpenThread bervariasi, tergantung 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 mendapatkan petunjuk terperinci
- 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 Anda pilih, clone repositori Git OpenThread khusus platform. Ambil 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:
- Lakukan flash biner yang diinginkan ke platform target. Semua biner yang dihasilkan
yang berada di
./build/bin
.
Konfigurasi
Anda dapat mengonfigurasi OpenThread untuk berbagai fungsi dan perilaku selama proses build project. Opsi konfigurasi yang tersedia diuraikan di bagian berikut lokasi:
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
Menggunakan opsi build cmake untuk mengaktifkan fungsi platform. Misalnya, untuk bangun biner untuk platform CC2538 dengan dukungan Commissioner dan Joiner diaktifkan:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Atau, untuk membangun platform nRF52840 dengan 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 dibuat, gunakan flag dengan perintah ./script/build
. Misalnya, untuk membangun 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 Co-Processor Jaringan (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 suatu project.
Periksa direktori examples/platforms
untuk melihat flag mana saja yang muncul di setiap platform
didukung. Untuk informasi selengkapnya tentang FTD dan MTD, lihat
Pengantar Thread. Sebagai
Untuk mengetahui informasi selengkapnya tentang desain SoC dan NCP, lihat Platform.
Proses untuk mem-flash biner ini bervariasi di berbagai platform contoh. Lihat README di setiap platform contoh folder untuk petunjuk mendetail.
Daemon OpenThread
OpenThread Daemon (OT Daemon) adalah mode build OpenThread POSIX yang berjalan OpenThread sebagai layanan dan digunakan dengan desain RCP. Untuk mengetahui informasi selengkapnya tentang cara membangun dan menggunakannya, lihat OpenThread Daemon.
Membangun Paket Dukungan
Paket Dukungan Build (BSP) ditemukan di
/third_party
BSP adalah kode pihak ketiga tambahan yang digunakan oleh OpenThread di setiap platform masing-masing, umumnya disertakan saat melakukan port OpenThread ke platform hardware baru.