O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Construir OpenThread

Ver fonte no GitHub

Como construir OpenThread

As etapas para construir o OpenThread variam de acordo com o conjunto de ferramentas, a máquina do usuário e a plataforma de destino.

O fluxo de trabalho mais comum é:

  1. Configure o ambiente de compilação e instale o conjunto de ferramentas desejado:
    1. Para construir diretamente em uma máquina, consulte o Codelab de Simulação para obter instruções detalhadas
    2. Para usar um contêiner 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. No 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. No diretório raiz do repositório clonado:
    1. Instale o conjunto 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 construção. As opções de configuração disponíveis são detalhadas nos seguintes locais:

Modelo Localização
Constantes de tempo de compilação Listado em todos os arquivos de cabeçalho em /src/core/config
cmake build options Listado em openthread/examples/README.md

Exemplos de construçã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 Joiner habilitado:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

Ou, para construir a plataforma nRF52840 com o recurso de detecção de atolamento ativado em seu repo:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Binários

Os binários a seguir são gerados em ./build/bin partir do processo de construçã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 SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Dispositivo Full Thread para projetos de Co-Processador 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 co-processador 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 são construídos, mas os arquivos da biblioteca OpenThread ainda são gerados em ./build/lib para uso em um projeto.

Verifique os exemplos de Makefiles 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 projetos SoC e NCP, consulte Plataformas .

O processo de atualização desses binários varia entre as plataformas de exemplo. Consulte os READMEs na pasta de exemplo de cada plataforma para obter instruções detalhadas.

OpenThread Daemon

OpenThread Daemon (OT Daemon) é um modo de construção OpenThread POSIX que executa OpenThread como um serviço e é usado com o design RCP. Para obter mais informações sobre como construí-lo e usá-lo, consulte OpenThread Daemon .

Construir pacotes de suporte

Os Pacotes de Suporte à Compilação (BSPs) são encontrados em /third_party . BSPs são códigos adicionais de terceiros usados ​​pelo OpenThread em cada plataforma respectiva, geralmente incluídos ao portar o OpenThread para uma nova plataforma de hardware.