Cách xây dựng OpenThread
Các bước để tạo Openthread khác nhau tùy thuộc vào công cụ chuỗi, máy người dùng và nền tảng mục tiêu.
Quy trình công việc phổ biến nhất là:
- Thiết lập môi trường phát triển 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 một vùng chứa Docker với môi trường được định cấu hình sẵn,
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 từng nền tảng. Đang lấy ví dụ về CC2538:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Từ thư mục gốc của kho lưu trữ đã sao chép:
- Cài đặt chuỗi công cụ:
./script/bootstrap
- Xây dựng cấu hình:
./script/build platform-specific-args cmake-options
- Cài đặt chuỗi công cụ:
- Flash tệp nhị phân mong muốn vào nền tảng mục tiêu. Tất cả tệp nhị phân đã tạo
nằm 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. Bạn có thể xem chi tiết các tùy chọn cấu hình có sẵn 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 |
tạo các tùy chọn tạo bản dựng | Đượ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 tạo bản dựng để 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 khi bật tính năng hỗ trợ y viên và Người tham gia:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Hoặc, để xây dựng nền tảng nRF52840 bằng cách bật tính năng Phát hiện thiết bị trong repo:
./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 xây dựng. Để xác định tệp nhị phân nào được tạo, hãy sử dụng cờ bằng lệnh ./script/build
. Ví dụ: để xây dựng 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ị chuỗi đầy đủ dành cho thiết kế SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Thiết bị chuỗi rất nhỏ cho các 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ộ xử lý đồng mạng (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
Thiết bị chuỗi tối thiểu cho thiết kế NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
Thiết kế của Bộ đồng xử lý vô tuyến (RCP) | -DOT_APP_RCP=ON -DOT_RCP=ON |
Theo mặc định, tất cả những trường hợp gắn cờ ở trên đều được bật. Nếu bạn tắt hoàn toàn tính năng gắn cờ, thì các ứng dụng sẽ không được
tạo nhưng các tệp thư viện Openthread vẫn được tạo trong ./build/lib
để sử dụng trong dự án.
Xem ví dụ về Quảng cáo đền bù cho mỗi nền tảng để xem cờ nào mỗi nền tảng hỗ trợ. Để biết thêm thông tin về FTD và MTD, hãy xem Chuỗi nhà phát triển trò chơi. Để 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 hiển thị các tệp nhị phân này khác nhau trên các nền tảng mẫu. Hãy xem README trong thư mục mẫu của mỗi nền tảng để biết hướng dẫn chi tiết.
Daemon mở chuỗi
Openthread Daemon (OT Daemon) là một chế độ xây dựng OpenThread POSIX chạy OpenThread dưới dạng dịch vụ và được sử dụng với thiết kế RCP. Để biết thêm thông tin về cách xây dựng và sử dụng chỉ số này, hãy xem OpenThread Daemon.
Xây dựng gói hỗ trợ
Bạn có thể tìm thấy các Gói hỗ trợ về bản dựng (BSP) trong
/third_party
. PII là mã bổ sung của bên thứ ba được Openthread sử dụng trên mỗi nền tảng tương ứng, thường được bao gồm khi chuyển Openthread sang nền tảng phần cứng mới.