O Google está comprometido em promover a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Criar OpenThread

Ferramentas

A principal cadeia de ferramentas suportada para a criação do OpenThread é o GNU Autotools.

Ferramentas automáticas GNU

Instruções sobre como criar exemplos com o GNU Autotools podem ser encontradas na pasta da plataforma de cada exemplo. Observe que a intenção desses exemplos é mostrar o código mínimo necessário para executar o OpenThread em cada plataforma respectiva. Como tal, eles não destacam todos os recursos da plataforma.

Pode ser necessária uma configuração adicional durante as construções, dependendo do seu caso de uso.

Ferramentas automáticas GNU - criação do Nest Labs

O Nest Labs criou uma estrutura de sistema de construção turnkey personalizada, baseada no GNU Autotools. Isso é usado para pacotes de software independentes que precisam oferecer suporte:

  • desenvolvendo e visando sistemas de host de construção independentes
  • sistemas de destino incorporados usando cadeias de ferramentas baseadas em GCC ou compatíveis

A compilação do GNU Autotools do Nest Labs é recomendada para uso com o OpenThread porque alguns sistemas host de compilação podem não ter o GNU Autotools ou podem ter versões e distribuições diferentes. Isso leva à saída inconsistente de Autotools primárias e secundárias, o que resulta em uma experiência divergente de usuário e suporte. A criação do Nest Labs evita isso, fornecendo um conjunto qualificado pré-construído de GNU Autotools com scripts associados que não dependem das versões do Autotools no sistema host da compilação.

Normalmente, esse projeto é subtratado (ou submodulado git) em um repositório de projeto de destino e serve como a semente do sistema de construção desse projeto.

Para saber mais, ou para usar esta ferramenta para suas compilações OpenThread, consulte o README .

Como criar o OpenThread

As etapas para criar o OpenThread variam dependendo da cadeia de ferramentas, da máquina do usuário e da plataforma de destino.

O fluxo de trabalho mais comum é:

  1. Configure o ambiente de construção e instale a cadeia de ferramentas desejada:
    1. Para criar 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. No ambiente escolhido, clone o repositório OpenThread Git:
     git clone https://github.com/openthread/openthread 
  3. No diretório raiz do repositório clonado:
    1. Instale a cadeia de ferramentas GNU e outras dependências (opcional):
       ./script/bootstrap 
    2. Configure o ambiente:
       ./bootstrap 
    3. Configure e construa, usando exemplos de plataforma predefinidos com personalização opcional por meio de comutadores comuns:
      1. Modifique as constantes de tempo de compilação do /examples/platforms/ <platform> /openthread-core- <platform> -config.h arquivo /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Crie a configuração:
         make -f examples/Makefile- <platform> <switches> 
  4. Pisque o binário desejado na plataforma de destino. Todos os binários gerados estão localizados em /output/ <platform> /bin . Ao usar o Modo avançado, a <platform> pode ser específica à máquina do usuário. Por exemplo, x86_64-apple-darwin .

Instruções específicas sobre a criação de plataformas suportadas com o GNU Autotools podem ser encontradas na pasta da plataforma de cada exemplo.

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 em tempo de compilação Listado em todos os arquivos de cabeçalho em /src/core/config
Switches de compilação de makefile Listado em /examples/common-switches.mk

Exemplos de compilação

Use uma opção para ativar a funcionalidade para uma plataforma de exemplo. Por exemplo, para criar o exemplo CC2538 com o suporte de Comissário e Marceneiro ativado:

 make -f examples/Makefile-cc2538 COMMISSIONER=1 JOINER=1 

Ou, para criar o exemplo nRF52840 com o recurso Detecção de atolamento ativado:

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

Binários

Os seguintes binários são gerados em /output/ <platform> /bin partir do processo de construção. Para determinar quais binários são gerados, use sinalizadores de opção de configuração com o comando ./configure para gerar um Makefile atualizado para construção. Por exemplo, para criar o OpenThread e gerar apenas os binários da CLI:

 ./configure --enable-cli
make 
Binário Descrição Configurar sinalizadores de opção
ot-cli-ftd Dispositivo de rosca completa para projetos de SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo de rosca mínima para projetos de SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo de rosca completa para projetos NCP --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo de segmento mínimo para projetos NCP --enable-ncp
--enable-mtd
ot-rcp Design do host / controlador 802.15.4 --enable-ncp
--enable-radio-only

Se nem esses sinalizadores nem um exemplo de plataforma não forem usados, os aplicativos não serão construídos, mas os arquivos da biblioteca OpenThread ainda serão gerados em /output/ <platform> /lib para uso em um projeto.

Verifique o Makefiles de exemplo para cada plataforma para ver quais sinalizadores cada plataforma suporta. Por exemplo, a TI CC2650 não suporta FTDs . Para obter mais informações sobre FTDs e MTDs, consulte o Thread Primer . Para obter mais informações sobre projetos de SoC e NCP, consulte Plataformas .

O processo para atualizar esses binários varia de acordo com as plataformas de exemplo. Veja os READMEs na pasta de exemplo de cada plataforma para obter instruções detalhadas.

Criar pacotes de suporte

BSPs (Build Support Packages) 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 transportar o OpenThread para uma nova plataforma de hardware.