Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Twórz OpenThread

Łańcuchy narzędzi

Podstawowym obsługiwanym łańcuchem narzędzi do budowania OpenThread jest GNU Autotools.

GNU Autotools

Instrukcje tworzenia przykładów za pomocą GNU Autotools można znaleźć w folderze platformy każdego przykładu. Zauważ, że celem tych przykładów jest pokazanie minimalnego kodu niezbędnego do uruchomienia OpenThread na każdej odpowiedniej platformie. W związku z tym nie podkreślają pełnych możliwości platformy.

Dalsza konfiguracja podczas kompilacji może być konieczna, w zależności od przypadku użycia.

GNU Autotools - kompilacja Nest Labs

Nest Labs stworzyło dostosowaną, gotową do użycia strukturę systemu, opartą na GNU Autotools. Jest to używane w przypadku samodzielnych pakietów oprogramowania, które muszą obsługiwać:

  • budowanie i kierowanie na samodzielne systemy hostów
  • wbudowane systemy docelowe korzystające z łańcuchów narzędzi opartych na GCC lub kompatybilnych

Wersja Nest Labs GNU Autotools jest zalecana do użytku z OpenThread, ponieważ niektóre systemy hostów kompilacji mogą nie mieć GNU Autotools lub mogą mieć różne wersje i dystrybucje. Prowadzi to do niespójnych pierwotnych i wtórnych wyników Autotools, co skutkuje rozbieżnymi doświadczeniami użytkowników i pomocy technicznej. Kompilacja Nest Labs unika tego, dostarczając wstępnie zbudowany, kwalifikowany zestaw GNU Autotools z powiązanymi skryptami, które nie polegają na wersjach Autotools w systemie hosta kompilacji.

Ten projekt jest zwykle subtreed (lub podmodulowany git) do repozytorium projektu docelowego i służy jako podstawa dla systemu kompilacji tego projektu.

Aby dowiedzieć się więcej lub użyć tego narzędzia do kompilacji OpenThread, zobacz plik README .

Jak zbudować OpenThread

Kroki tworzenia OpenThread różnią się w zależności od łańcucha narzędzi, maszyny użytkownika i platformy docelowej.

Najpopularniejszy przepływ pracy to:

  1. Skonfiguruj środowisko kompilacji i zainstaluj żądany łańcuch narzędzi:
    1. Aby zbudować bezpośrednio na maszynie, zapoznaj się ze szczegółowymi instrukcjami w Simulation Codelab
    2. Aby użyć kontenera Docker ze wstępnie skonfigurowanym środowiskiem, pobierz i uruchom obraz environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. W wybranym środowisku sklonuj repozytorium OpenThread Git:
    git clone https://github.com/openthread/openthread
  3. Z katalogu głównego sklonowanego repozytorium:
    1. Zainstaluj łańcuch narzędzi GNU i inne zależności (opcjonalnie):
      ./script/bootstrap
    2. Skonfiguruj środowisko:
      ./bootstrap
    3. Skonfiguruj i zbuduj, używając wstępnie zdefiniowanych przykładów platform z opcjonalnym dostosowaniem za pomocą typowych przełączników:
      1. Zmodyfikuj stałe czasu kompilacji /examples/platforms/ <platform> /openthread-core- <platform> -config.h pliku /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Zbuduj konfigurację:
        make -f examples/Makefile-<platform> <switches>
  4. Flash żądany plik binarny na platformę docelową. Wszystkie wygenerowane pliki binarne znajdują się w /output/ <platform> /bin . W przypadku korzystania z trybu zaawansowanego <platform> może być specyficzna dla komputera użytkownika. Na przykład x86_64-apple-darwin .

Szczegółowe instrukcje dotyczące budowania obsługiwanych platform za pomocą GNU Autotools można znaleźć w folderze platformy każdego przykładu.

Konfiguracja

Możesz skonfigurować OpenThread pod kątem różnych funkcji i zachowań podczas procesu kompilacji. Dostępne opcje konfiguracji są szczegółowo opisane w następujących lokalizacjach:

Rodzaj Lokalizacja
Stałe czasu kompilacji Wymienione we wszystkich plikach nagłówkowych w /src/core/config
Przełączniki kompilacji Makefile Wymienione w /examples/common-switches.mk

Twórz przykłady

Użyj przełącznika, aby włączyć funkcjonalność dla przykładowej platformy. Na przykład, aby zbudować przykład CC2538 z włączoną obsługą Commissioner i Joiner:

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

Lub, aby zbudować przykład nRF52840 z włączoną funkcją wykrywania zacięć :

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Pliki binarne

Następujące pliki binarne są generowane w /output/ <platform> /bin z procesu kompilacji. Aby określić, które pliki binarne są generowane, użyj flag opcji konfiguracji z poleceniem ./configure aby wygenerować zaktualizowany plik Makefile do ./configure . Na przykład, aby zbudować OpenThread i wygenerować tylko pliki binarne CLI:

./configure --enable-cli
make
Dwójkowy Opis Skonfiguruj flagi opcji
ot-cli-ftd Urządzenie Full Thread dla projektów SoC --enable-cli
--enable-ftd
ot-cli-mtd Urządzenie Minimal Thread dla projektów SoC --enable-cli
--enable-mtd
ot-ncp-ftd Urządzenie z pełnym wątkiem dla projektów sieciowych procesorów (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Urządzenie Minimal Thread dla projektów NCP --enable-ncp
--enable-mtd
ot-rcp Konstrukcja procesora radiowego (RCP) --enable-ncp
--enable-radio-only

Jeśli ani te flagi, ani przykład platformy nie są używane, aplikacje nie są budowane, ale pliki bibliotek OpenThread są nadal generowane w /output/ <platform> /lib do użycia w projekcie.

Sprawdź przykładowe pliki Makefile dla każdej platformy, aby zobaczyć, które flagi obsługuje każda platforma. Na przykład TI CC2650 nie obsługuje FTD . Aby uzyskać więcej informacji na temat FTD i MTD, zobacz Thread Primer . Aby uzyskać więcej informacji na temat projektów SoC i NCP, zobacz Platformy .

Proces flashowania tych plików binarnych różni się na poszczególnych platformach. Szczegółowe instrukcje można znaleźć w plikach README w przykładowym folderze każdej platformy.

OpenThread Daemon

OpenThread Daemon (OT Daemon) to tryb budowania OpenThread POSIX, który uruchamia OpenThread jako usługę i jest używany z projektem RCP. Aby uzyskać więcej informacji na temat tworzenia i używania go, zobacz Demon OpenThread .

Twórz pakiety pomocy technicznej

Pakiety wsparcia kompilacji (BSP) można znaleźć w /third_party . BSP to dodatkowy kod stron trzecich używany przez OpenThread na każdej odpowiedniej platformie, zwykle dołączany podczas przenoszenia OpenThread na nową platformę sprzętową.