Cách tạo OpenThread
Các bước để tạo OpenThread khác nhau tùy thuộc vào chuỗi công cụ, máy người dùng và nền tảng mục tiêu.
Quy trình làm việc phổ biến nhất là:
- Thiết lập môi trường bản dựng và cài đặt chuỗi công cụ mong muốn:
- Để xây dựng trực tiếp trên máy, hãy xem Lớp học lập trình mô phỏng để biết hướng dẫn chi tiết
- Để sử dụng vùng chứa Docker với môi trường được định cấu hình trước,
hãy tải xuống và chạy hình ảnh OpenThread
environment
:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Trong môi trường bạn đã chọn, hãy sao chép kho lưu trữ OpenThread Git dành riêng cho nền tảng. Lấy CC2538 làm ví dụ:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Từ thư mục gốc của kho lưu trữ bản sao:
- Cài đặt chuỗi công cụ:
./script/bootstrap
- Tạo cấu hình:
./script/build platform-specific-args cmake-options
- Cài đặt chuỗi công cụ:
- Đưa tệp nhị phân mong muốn lên nền tảng mục tiêu. Tất cả tệp nhị phân được tạo đều
có trong
./build/bin
.
Cấu hình
Bạn có thể định cấu hình OpenThread cho các chức năng và hành vi khác nhau trong quá trình xây dựng. Các tùy chọn cấu hình có sẵn được nêu chi tiết tại các vị trí sau:
Loại | Vị trí |
---|---|
Hằng số thời gian biên dịch | Được liệt kê trong tất cả các tệp tiêu đề trong /src/core/config |
tuỳ chọn bản dựng cmake | Được liệt kê trong openthread/examples/README.md |
Ví dụ về bản dựng
Sử dụng các tùy chọn bản dựng cmake để bật chức năng cho nền tảng. Ví dụ: để tạo tệp nhị phân cho nền tảng CC2538 có bật tính năng hỗ trợ Uỷ viên và Liên kết:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Hoặc, để xây dựng nền tảng nRF52840 có tính năng Phát hiện Jam được bật trong kho lưu trữ:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Tệp nhị phân
Các tệp nhị phân sau đây được tạo trong ./build/bin
từ quá trình tạo. Để xác định tệp nhị phân nào được tạo, hãy sử dụng cờ với lệnh ./script/build
. Ví dụ: để tạo OpenThread và chỉ tạo tệp nhị phân 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
Tệp nhị phân | Mô tả | Tùy chọn |
---|---|---|
ot-cli-ftd |
Thiết bị App Thread đầy đủ cho các thiết kế SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Thiết bị Luồng tối thiểu cho thiết kế SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Thiết bị Chuỗi đầy đủ cho thiết kế Bộ đồng xử lý mạng (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
Thiết bị Luồng tối thiểu cho thiết kế NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
Thiết kế bộ đồng xử lý radio (RCP) | -DOT_APP_RCP=ON -DOT_RCP=ON |
Theo mặc định, tất cả những cờ trên đều được bật. Nếu bạn vô hiệu hóa một cách rõ ràng tất cả các cờ, thì các ứng dụng sẽ không được
tạo nhưng tệp của thư viện OpenThread vẫn được tạo trong ./build/lib
để sử dụng trong dự án.
Hãy xem ví dụ về Makefiles cho từng nền tảng để biết mỗi nền tảng hỗ trợ những cờ nào. Để biết thêm thông tin về FTD và MTD, hãy xem Thread Primer. Để biết thêm thông tin về thiết kế SoC và NCP, hãy xem phần Nền tảng.
Quá trình nhấp nháy các tệp nhị phân này khác nhau giữa các nền tảng mẫu. Hãy xem thư mục ví dụ của README trong mỗi nền tảng để biết hướng dẫn chi tiết.
Phô mai OpenThread Daemon
OpenThread Daemon (OT Daemon) là một chế độ xây dựng OpenThread POSIX chạy OpenThread dưới dạng một dịch vụ và được sử dụng với thiết kế RCP. Để biết thêm thông tin về cách tạo và sử dụng thuộc tính này, hãy xem OpenThread Daemon.
Gói hỗ trợ xây dựng
Bạn có thể tìm thấy Gói hỗ trợ bản dựng (BSP) trong
/third_party
. Sling là mã của bên thứ ba bổ sung mà OpenThread sử dụng trên từng nền tảng tương ứng, thường được đưa vào khi chuyển OpenThread sang một nền tảng phần cứng mới.