Jak utworzyć OpenThread
Etapy kompilacji OpenThread różnią się w zależności od łańcucha narzędzi, komputera użytkownika i platformy docelowej.
Najczęstszy przepływ pracy to:
- Skonfiguruj środowisko kompilacji i zainstaluj odpowiedni łańcuch narzędzi:
- Aby przeprowadzić konfigurację bezpośrednio na komputerze, zapoznaj się ze szczegółowymi instrukcjami z symulatora ćwiczeń
- Aby użyć kontenera Dockera ze wstępnie skonfigurowanym środowiskiem, pobierz i uruchom obraz OpenThread
environment
:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- W wybranym środowisku skopiuj repozytorium OpenThread Git. Biorąc pod uwagę CC2538 jako przykład:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Z kopiowanego repozytorium & katalogu głównego:
- Zainstaluj łańcuch narzędzi:
./script/bootstrap
- Utwórz konfigurację:
./script/build platform-specific-args cmake-options
- Zainstaluj łańcuch narzędzi:
- Umieść odpowiedni plik binarny na platformie docelowej. Wszystkie wygenerowane pliki binarne
są dostępne w
./build/bin
.
Konfiguracja
W trakcie kompilacji możesz skonfigurować OpenThread pod kątem różnych funkcji i zachowań. Dostępne opcje konfiguracji znajdziesz w tych lokalizacjach:
Typ | Lokalizacja |
---|---|
Stałe w czasie kompilacji | Wymieniony we wszystkich plikach nagłówka w /src/core/config |
opcje kompilacji Cmake | Jest na liście openthread/examples/README.md |
Przykłady kompilacji
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ą „komisarza” i fachowca:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Aby utworzyć platformę nRF52840 z włączoną repozytorium Jamu w repozytorium:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Pliki cookie
Te pliki binarne zostały wygenerowane w ./build/bin
podczas procesu kompilacji. Aby określić, które pliki binarne mają być generowane, użyj flag za pomocą polecenia ./script/build
. Aby na przykład utworzyć OpenThread i wygenerować tylko plik binarny CLI 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 |
Kompaktowe urządzenie do projektowania soc | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd |
Minimalistyczne urządzenie do SOC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd |
Urządzenie z wątkiem typu procesor sieciowy (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd |
Minimalistyczne urządzenie do projektowania NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp |
Projektowanie RCP | -DOT_APP_RCP=ON -DOT_RCP=ON |
Domyślnie wszystkie powyższe flagi są włączone. Jeśli wyraźnie wyłączysz wszystkie flagi, aplikacje nie zostaną utworzone, ale pliki biblioteki OpenThread będą generowane w aplikacji ./build/lib
na potrzeby projektu.
Przyjrzyj się przykładowym elementom Makefiles dla każdej platformy i sprawdź, które flagi działają na poszczególnych platformach. Więcej informacji o FTD i MTD znajdziesz w Thread Primer. Więcej informacji o projektach soc i NCP znajdziesz w artykule Platformy.
Proces ten wygląda inaczej na różnych przykładowych platformach. Szczegółowe instrukcje znajdziesz w README na każdej platformie.
Demon demo OpenThread
Daemon OpenThread (OT Daemon) to tryb kompilacji POSIX OpenThread, który uruchamia OpenThread jako usługę i jest używany w projekcie RCP. Więcej informacji o tworzeniu i korzystaniu z tego narzędzia znajdziesz w dokumencie OpenThread Deemon.
Pakiety pomocy dla programistów
Pakiety pomocy do kompilacji (BSP) znajdziesz w /third_party
. BSP to dodatkowy kod innej firmy wykorzystywany przez OpenThread na każdej platformie, który jest zazwyczaj uwzględniany podczas przenoszenia OpenThread na nową platformę sprzętową.