O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Construir OpenThread

Ver fonte no GitHub

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 é:

  1. Configure o ambiente de compilação e instale a cadeia de ferramentas desejada:
    1. Para construir diretamente em uma máquina, consulte o Simulation Codelab para obter instruções detalhadas
    2. 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
      
  2. 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
    
  3. Do diretório raiz do repositório clonado:
    1. Instale a cadeia de ferramentas:
      ./script/bootstrap
      
    2. Construa a configuração:
      ./script/build platform-specific-args cmake-options
      
  4. 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.