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

Conjuntos de ferramentas

O conjunto de ferramentas principal suportado para construir OpenThread é GNU Autotools.

GNU Autotools

Instruções sobre como construir exemplos com GNU Autotools podem ser encontradas na pasta de 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 os recursos completos da plataforma.

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

GNU Autotools - build do Nest Labs

Nest Labs criou uma estrutura de sistema de construção pronta para uso, com base no GNU Autotools. Isso é usado para pacotes de software autônomos que precisam oferecer suporte a:

  • construir e direcionar para sistemas host de compilação independentes
  • sistemas de destino incorporados usando conjuntos de ferramentas com base em GCC ou compatíveis

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

Este projeto é normalmente subtreed (ou git submoduled) em um repositório de projeto de destino e serve como a semente para o sistema de compilação desse projeto.

Para aprender mais, ou usar esta ferramenta para suas construções OpenThread, veja o README .

Como construir OpenThread

As etapas para construir OpenThread variam de acordo com o conjunto 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 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:
    git clone https://github.com/openthread/openthread
  3. No diretório raiz do repositório clonado:
    1. Instale o conjunto de ferramentas GNU e outras dependências (opcional):
      ./script/bootstrap
    2. Configure o ambiente:
      ./bootstrap
    3. Configure e crie, usando exemplos de plataforma predefinidos com personalização opcional por meio de opções 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. Atualize o binário desejado para a 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 para a máquina do usuário. Por exemplo, x86_64-apple-darwin .

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

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:

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 de Makefile Listado em /examples/common-switches.mk

Exemplos de construção

Use um switch para habilitar a funcionalidade para uma plataforma de exemplo. Por exemplo, para construir o exemplo CC2538 com o suporte de Comissário e Marceneiro habilitado:

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

Ou, para construir o exemplo nRF52840 com o recurso de detecção de atolamento habilitado:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Binários

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

./configure --enable-cli
make
Binário Descrição Configurar sinalizadores de opção
ot-cli-ftd Dispositivo Full Thread para projetos SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo de rosca mínima para projetos SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo Full Thread para projetos de Co-Processador de Rede (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo de rosca mínima para projetos NCP --enable-ncp
--enable-mtd
ot-rcp Projeto de co-processador de rádio (RCP) --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 os Makefiles de exemplo para cada plataforma para ver quais sinalizadores cada plataforma suporta. Por exemplo, o TI CC2650 não oferece suporte a FTDs . 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 .

Crie 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.