Jak utworzyć OpenThread
Czynności związane z kompilacją OpenThread różnią się w zależności od łańcucha narzędzi, komputera użytkownika i platformy docelowej.
Najczęstszy proces to:
- Skonfiguruj środowisko kompilacji i zainstaluj wybrany łańcuch narzędzi:
- Aby utworzyć symulację bezpośrednio na komputerze,zapoznaj się ze szczegółowymi instrukcjami w ćwiczeniach z programowania poświęconych symulacji.
- Aby użyć kontenera Dockera z wstępnie skonfigurowanym środowiskiem, pobierz i uruchom obraz OpenThread
environment:docker pull openthread/environment:latestdocker run -it --rm openthread/environment bash
- W wybranym środowisku sklonuj repozytorium Git OpenThread dla danej platformy. Na przykład CC2538:
git clone https://github.com/openthread/ot-cc2538.git --recursive - W katalogu głównym sklonowanego repozytorium:
- Zainstaluj zestaw narzędzi:
./script/bootstrap - Utwórz konfigurację:
./script/build platform-specific-args cmake-options
- Zainstaluj zestaw narzędzi:
- Wgraj wybrany plik binarny na platformę docelową. Wszystkie wygenerowane pliki binarne znajdują się w folderze
./build/bin.
Konfiguracja
Podczas procesu kompilacji możesz skonfigurować OpenThread pod kątem różnych funkcji i zachowań. Dostępne opcje konfiguracji są szczegółowo opisane w tych miejscach:
| Typ | Lokalizacja |
|---|---|
| Stałe czasu kompilacji | Wymienione we wszystkich plikach nagłówkowych w /src/core/config |
| opcje kompilacji cmake, | Wymienione w kategorii /etc/cmake/options.cmake |
Tworzenie przykładów
Użyj opcji kompilacji cmake, aby włączyć funkcje na platformie. Aby na przykład utworzyć plik binarny dla platformy CC2538 z włączoną obsługą funkcji Commissioner i Joiner:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Aby utworzyć platformę nRF52840 z włączoną w repozytorium funkcją wykrywania zakłóceń:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Pliki binarne
W procesie kompilacji w folderze ./build/bin są generowane te pliki binarne: Aby określić, które pliki binarne mają zostać wygenerowane, użyj flag w poleceniu ./script/build. Aby na przykład skompilować OpenThread i wygenerować tylko plik binarny interfejsu wiersza poleceń FTD:
./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
| Binarne | Opis | Opcje |
|---|---|---|
ot-cli-ftd |
Urządzenie Full Thread do projektów SoC | -DOT_APP_CLI=ON-DOT_FTD=ON |
ot-cli-mtd |
Minimalne urządzenie Thread dla układów SoC | -DOT_APP_CLI=ON-DOT_MTD=ON |
ot-ncp-ftd |
Urządzenie Full Thread do projektów z procesorem sieciowym (NCP) | -DOT_APP_NCP=ON-DOT_FTD=ON |
ot-ncp-mtd |
Minimalne urządzenie Thread do projektów NCP | -DOT_APP_NCP=ON-DOT_MTD=ON |
ot-rcp |
Projekt procesora pomocniczego radia (RCP) | -DOT_APP_RCP=ON-DOT_RCP=ON |
Domyślnie wszystkie powyższe flagi są włączone. Jeśli jawnie wyłączysz wszystkie flagi, aplikacje nie zostaną skompilowane, ale pliki biblioteki OpenThread będą nadal generowane w ./build/lib do użycia w projekcie.
Sprawdź examples/platformskatalog, aby dowiedzieć się, które flagi są obsługiwane przez poszczególne platformy. Więcej informacji o FTD i MTD znajdziesz w podstawowych informacjach o Thread. Więcej informacji o projektach SoC i NCP znajdziesz na stronie Platformy.
Proces flashowania tych plików binarnych różni się w zależności od platformy. Szczegółowe instrukcje znajdziesz w plikach README w folderze z przykładami każdej platformy.
Demon OpenThread
OpenThread Daemon (OT Daemon) to tryb kompilacji OpenThread POSIX, który uruchamia OpenThread jako usługę i jest używany w przypadku projektu RCP. Więcej informacji o tym, jak go utworzyć i używać, znajdziesz w artykule OpenThread Daemon.
Tworzenie pakietów pomocy
Pakiety pomocy w zakresie kompilacji (BSPs) znajdziesz w /third_party. Pakiety BSP to dodatkowy kod zewnętrzny używany przez OpenThread na poszczególnych platformach. Zwykle są one uwzględniane podczas przenoszenia OpenThread na nową platformę sprzętową.