Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem thế nào.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Xây dựng OpenThread

Dụng cụ

Chuỗi công cụ được hỗ trợ chính để xây dựng OpenThread là GNU Autotools.

Tự động GNU

Hướng dẫn xây dựng các ví dụ với GNU Autotools có thể được tìm thấy trong mỗi thư mục nền tảng của ví dụ. Lưu ý rằng mục đích của các ví dụ này là hiển thị mã tối thiểu cần thiết để chạy OpenThread trên mỗi nền tảng tương ứng. Như vậy, chúng không làm nổi bật khả năng đầy đủ của nền tảng.

Cấu hình thêm trong quá trình xây dựng có thể cần thiết, tùy thuộc vào trường hợp sử dụng của bạn.

GNU Autotools - Xây dựng Nest Labs

Nest Labs đã tạo ra một khung hệ thống xây dựng chìa khóa trao tay tùy chỉnh, dựa trên GNU Autotools. Điều này được sử dụng cho các gói phần mềm độc lập cần hỗ trợ:

  • xây dựng và nhắm mục tiêu chống lại các hệ thống máy chủ xây dựng độc lập
  • hệ thống mục tiêu nhúng sử dụng bộ công cụ dựa trên GCC hoặc tương thích

Bản dựng GNU Autotools của Nest Labs được khuyến nghị sử dụng với OpenThread vì một số hệ thống máy chủ bản dựng có thể không có GNU Autotools hoặc có thể có các phiên bản và bản phân phối khác nhau. Điều này dẫn đến đầu ra Autotools chính và phụ không nhất quán, dẫn đến trải nghiệm hỗ trợ và người dùng khác nhau. Bản dựng của Phòng thí nghiệm Nest tránh điều này bằng cách cung cấp một bộ GNU Autotools được xây dựng sẵn, đủ điều kiện với các tập lệnh liên quan không phụ thuộc vào các phiên bản Autotools trên hệ thống máy chủ bản dựng.

Dự án này thường là phần phụ (hoặc git được gửi) vào kho lưu trữ dự án đích và đóng vai trò là hạt giống cho hệ thống xây dựng của dự án đó.

Để tìm hiểu thêm hoặc sử dụng công cụ này cho các bản dựng OpenThread của bạn, hãy xem README .

Cách xây dựng OpenThread

Các bước để xây dựng OpenThread khác nhau tùy thuộc vào toolchain, máy người dùng và nền tảng đích.

Quy trình công việc phổ biến nhất là:

  1. Thiết lập môi trường xây dựng và cài đặt chuỗi công cụ mong muốn:
    1. Để xây dựng trực tiếp trên máy, hãy xem Codelab mô phỏng để biết hướng dẫn chi tiết
    2. Để sử dụng bộ chứa Docker với môi trường được cấu hình sẵn, hãy tải xuống và chạy hình ảnh environment OpenThread:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. Trong môi trường bạn đã chọn, sao chép kho lưu trữ OpenThread Git:
     git clone https://github.com/openthread/openthread 
  3. Từ thư mục gốc của kho lưu trữ nhân bản:
    1. Cài đặt chuỗi công cụ GNU và các phụ thuộc khác (tùy chọn):
       ./script/bootstrap 
    2. Thiết lập môi trường:
       ./bootstrap 
    3. Định cấu hình và xây dựng, sử dụng các ví dụ nền tảng được xác định trước với tùy chỉnh tùy chọn thông qua các công tắc chung:
      1. Sửa đổi các hằng số thời gian biên dịch OpenThread trong tệp /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Xây dựng cấu hình:
         make -f examples/Makefile- <platform> <switches> 
  4. Flash nhị phân mong muốn vào nền tảng đích. Tất cả các nhị phân được tạo đều nằm trong /output/ <platform> /bin . Khi sử dụng Chế độ nâng cao, <platform> có thể dành riêng cho máy của người dùng. Ví dụ: x86_64-apple-darwin .

Có thể tìm thấy hướng dẫn cụ thể về việc xây dựng các nền tảng được hỗ trợ với GNU Autotools trong mỗi thư mục nền tảng của ví dụ.

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 chi tiết tại các vị trí sau:

Kiểu 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
Công tắc xây dựng Makefile Được liệt kê trong /examples/common-switches.mk

Xây dựng ví dụ

Sử dụng một công tắc để kích hoạt chức năng cho một nền tảng ví dụ. Ví dụ: để xây dựng ví dụ CC2538 với hỗ trợ Ủy viên và Người tham gia được bật:

 make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1 

Hoặc, để xây dựng ví dụ nRF52840 với tính năng Phát hiện Jam được bật:

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

Binaries

Các tệp nhị phân sau được tạo trong /output/ <platform> /bin từ quá trình xây dựng. Để xác định mã nhị phân nào được tạo, hãy sử dụng các cờ tùy chọn cấu hình bằng lệnh ./configure để tạo một Makefile cập nhật cho việc xây dựng. Ví dụ: để xây dựng OpenThread và chỉ tạo các nhị phân CLI:

 ./configure --enable-cli
make 
Nhị phân Sự miêu tả Cấu hình cờ tùy chọn
ot-cli-ftd Thiết bị Full Thread cho thiết kế SoC --enable-cli
--enable-ftd
ot-cli-mtd Thiết bị chủ đề tối thiểu cho các thiết kế SoC --enable-cli
--enable-mtd
ot-ncp-ftd Thiết bị Full Thread cho thiết kế NCP --enable-ncp
--enable-ftd
ot-ncp-mtd Thiết bị luồng tối thiểu cho các thiết kế NCP --enable-ncp
--enable-mtd
ot-rcp Thiết kế bộ điều khiển máy chủ / 802.15.4 --enable-ncp
--enable-radio-only

Nếu cả hai cờ và ví dụ nền tảng này đều không được sử dụng, các ứng dụng không được xây dựng nhưng các tệp thư viện OpenThread vẫn được tạo trong /output/ <platform> /lib để sử dụng trong dự án.

Kiểm tra ví dụ Makefiles cho mỗi nền tảng để xem cờ nào mỗi nền tảng hỗ trợ. Ví dụ, TI CC2650 không hỗ trợ FTD . Để 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 Nền tảng .

Quá trình để flash các nhị phân này khác nhau trên các nền tảng ví dụ. Xem các README trong thư mục ví dụ của mỗi nền tảng để biết hướng dẫn chi tiết.

Xây dựng gói hỗ trợ

Gói hỗ trợ xây dựng (BSP) được tìm thấy trong /third_party . BSP là mã bên thứ ba bổ sung đượ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.