Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
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ụ chính được hỗ trợ để xây dựng OpenThread là GNU Autotools.

GNU Autotools

Có thể tìm thấy hướng dẫn về cách xây dựng các ví dụ với GNU Autotools 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 từng nền tảng tương ứng. Do đó, chúng không làm nổi bật toàn bộ khả năng 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 - Nest Labs xây dựng

Nest Labs đã tạo 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 được nhúng sử dụng các 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 Nest Labs tránh điều này bằng cách cung cấp một bộ Công cụ tự động GNU đủ điều kiện, được tạo sẵn với các tập lệnh được liên kết không dựa trên các phiên bản của Công cụ tự động trên hệ thống máy chủ bản dựng.

Dự án này thường được phụ (hoặc git submodised) vào một 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 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à:

  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. Để tạo trực tiếp trên máy, hãy xem Mô phỏng Codelab để biết hướng dẫn chi tiết
    2. Để 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 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 hằng số thời gian biên dịch OpenThread trong /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Xây dựng cấu hình:
        make -f examples/Makefile-<platform> <switches>
  4. Chuyển tệp nhị phân mong muốn sang nền tảng đích. Tất cả các tệp 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ề cách xây dựng các nền tảng được hỗ trợ với GNU Autotools trong từng thư mục nền tảng của ví dụ.

Cấu hình

Bạn có thể 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 địa điểm sau:

Kiểu Vị trí
Biên dịch hằng số thời gian Đượ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 công tắc để bật chức năng cho một nền tảng mẫu. 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, để tạo 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 tệp nhị phân CLI:

./configure --enable-cli
make
Nhị phân Sự miêu tả Định 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ị Thread tối thiểu cho thiết kế SoC --enable-cli
--enable-mtd
ot-ncp-ftd Thiết bị Full Thread cho thiết kế Bộ xử lý mạng (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Thiết bị luồng tối thiểu cho thiết kế NCP --enable-ncp
--enable-mtd
ot-rcp Thiết kế bộ xử lý vô tuyến (RCP) --enable-ncp
--enable-radio-only

Nếu không sử dụng các cờ này hoặc ví dụ nền tảng, các ứng dụng sẽ 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 một dự án.

Kiểm tra Makefiles mẫu cho từng nền tảng để xem mỗi nền tảng hỗ trợ cờ nào. Ví dụ: TI CC2650 không hỗ trợ FTD . Để biết thêm thông tin về FTD và MTD, hãy xem Phần lót Chủ đề . Để 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 mã nhị phân này khác nhau giữa 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.

OpenThread Daemon

OpenThread Daemon (OT Daemon) là một chế độ xây dựng OpenThread POSIX chạy OpenThread như 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 xây dựng và sử dụng nó, hãy xem OpenThread Daemon .

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

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