Como construir OpenThread
As etapas para construir o OpenThread variam dependendo da cadeia de ferramentas, máquina do usuário e plataforma de destino.
O fluxo de trabalho mais comum é:
- Configure o ambiente de compilação e instale a cadeia de ferramentas desejada:
- Para construir diretamente em uma máquina, consulte o Simulation Codelab para obter instruções detalhadas
- Para usar um contêiner do Docker com um ambiente pré-configurado, baixe e execute a imagem do
environment
OpenThread:docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- Dentro do ambiente escolhido, clone o repositório OpenThread Git específico da plataforma. Tomando CC2538 como exemplo:
git clone https://github.com/openthread/ot-cc2538.git --recursive
- Do diretório raiz do repositório clonado:
- Instale a cadeia de ferramentas:
./script/bootstrap
- Construa a configuração:
./script/build platform-specific-args cmake-options
- Instale a cadeia de ferramentas:
- Atualize o binário desejado para a plataforma de destino. Todos os binários gerados estão localizados em
./build/bin
.
Configuração
Você pode configurar o OpenThread para diferentes funcionalidades e comportamentos durante o processo de compilação. As opções de configuração disponíveis são detalhadas nos seguintes locais:
Tipo | Localização |
---|---|
Constantes de tempo de compilação | Listado em todos os arquivos de cabeçalho em /src/core/config |
opções de compilação cmake | Listado em openthread/examples/README.md |
Exemplos de compilação
Use as opções de compilação do cmake para habilitar a funcionalidade da plataforma. Por exemplo, para construir o binário para a plataforma CC2538 com o suporte de Comissário e Marceneiro habilitado:
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
Ou, para construir a plataforma nRF52840 com o recurso Jam Detection habilitado em seu repositório:
./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON
Binários
Os binários a seguir são gerados em ./build/bin
a partir do processo de compilação. Para determinar quais binários são gerados, use sinalizadores com o comando ./script/build
. Por exemplo, para construir OpenThread e gerar apenas o binário FTD CLI:
./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
Binário | Descrição | Opções |
---|---|---|
ot-cli-ftd | Dispositivo Full Thread para projetos SoC | -DOT_APP_CLI=ON -DOT_FTD=ON |
ot-cli-mtd | Dispositivo de rosca mínima para projetos de SoC | -DOT_APP_CLI=ON -DOT_MTD=ON |
ot-ncp-ftd | Dispositivo Full Thread para projetos de coprocessador de rede (NCP) | -DOT_APP_NCP=ON -DOT_FTD=ON |
ot-ncp-mtd | Dispositivo de rosca mínima para projetos NCP | -DOT_APP_NCP=ON -DOT_MTD=ON |
ot-rcp | Projeto de coprocessador de rádio (RCP) | -DOT_APP_RCP=ON -DOT_RCP=ON |
Por padrão, todos os sinalizadores acima estão habilitados. Se você desabilitar explicitamente todos os sinalizadores, os aplicativos não serão compilados, mas os arquivos da biblioteca OpenThread ainda serão gerados em ./build/lib
para uso em um projeto.
Verifique os Makefiles de exemplo para cada plataforma para ver quais sinalizadores cada plataforma suporta. Para obter mais informações sobre FTDs e MTDs, consulte o Thread Primer . Para obter mais informações sobre designs de SoC e NCP, consulte Plataformas .
O processo para atualizar esses binários varia entre as plataformas de exemplo. Consulte os READMEs na pasta de exemplo de cada plataforma para obter instruções detalhadas.
Servidor OpenThread
O OpenThread Daemon (OT Daemon) é um modo de construção OpenThread POSIX que executa o OpenThread como um serviço e é usado com o design RCP. Para obter mais informações sobre como compilá-lo e usá-lo, consulte OpenThread Daemon .
Crie pacotes de suporte
Os pacotes de suporte de compilação (BSPs) são encontrados em /third_party
. BSPs são códigos de terceiros adicionais usados pelo OpenThread em cada plataforma respectiva, geralmente incluídos ao portar o OpenThread para uma nova plataforma de hardware.