Google está empenhada em fazer avançar a equidade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Desenvolver OpenThread

toolchains

O conjunto de ferramentas suportado principal para a construção de OpenThread é GNU Autotools.

GNU Autotools

Instruções sobre a construção de exemplos com GNU Autotools pode ser encontrado em de cada exemplo pasta de plataforma . Note-se que a intenção destes exemplos é mostrar o código mínimo necessário para executar OpenThread em cada plataforma respectiva. Como tal, eles não destacar plena capacidade da plataforma.

Configuração adicional durante constrói pode ser necessária, dependendo do seu caso de uso.

GNU Autotools - Nest Labs construção

Nest Labs criou um quadro sistema personalizado, turnkey construção, baseado no GNU Autotools. Isto é usado para pacotes de software independente que necessidade de apoiar:

  • construir e direcionamento contra sistemas host autônomo compilação
  • sistemas de destino incorporados usando toolchains GCC baseados em ou -compatível

A construção do ninho Labs da GNU Autotools é recomendável para uso com OpenThread porque alguns sistemas host de construção pode não ter GNU Autotools, ou pode ter diferentes versões e distribuições. Isto leva a saída Autotools primária e secundária inconsistente, o que resulta em uma experiência de usuário divergente e apoio. A construção do ninho Labs evita isso fornecendo um conjunto qualificado pré-construída de GNU Autotools com scripts associados que não confiam nas versões de Autotools no sistema host de construção.

Este projecto é tipicamente subtreed (ou git submoduled), num repositório projecto alvo e serve como a semente para o sistema de construção que de projecto.

Para saber mais, ou para usar esta ferramenta para o seu OpenThread constrói, veja o README .

Como construir OpenThread

Os passos para a construção OpenThread variam dependendo da cadeia de ferramentas, máquina de utilizador, e uma plataforma alvo.

O fluxo de trabalho mais comum é:

  1. Configure o ambiente de compilação e instalar o conjunto de ferramentas desejado:
    1. Para construir diretamente em uma máquina, consulte o Simulação Codelab para instruções detalhadas
    2. Para usar um recipiente Docker com um pré-configurado ambiente, baixe e execute o OpenThread environment imagem:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. Dentro de seu ambiente escolhido, clonar o repositório Git OpenThread:
     git clone https://github.com/openthread/openthread 
  3. Do diretório raiz do repositório clonado:
    1. Instalar o conjunto de ferramentas GNU e outras dependências (opcional):
       ./script/bootstrap 
    2. Configure o ambiente:
       ./bootstrap 
    3. Configurar e construir, utilizando exemplos de plataforma pré-definido com personalização opcional através dos interruptores comuns:
      1. Modificar OpenThread constantes de tempo de compilação na plataforma selecionada /examples/platforms/ <platform> /openthread-core- <platform> -config.h arquivo
      2. Construir a configuração:
         make -f examples/Makefile- <platform> <switches> 
  4. Piscar o binário desejado para a plataforma de destino. Todos os binários gerados estão localizados na /output/ <platform> /bin . Ao usar o Modo Avançado, o <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 pode ser encontrado em de cada exemplo pasta de plataforma .

Configuração

Você pode configurar OpenThread para diferentes funcionalidade e comportamento durante o processo de construção. opções de configuração disponíveis são detalhados nos seguintes locais:

Tipo Localização
As constantes de tempo de compilação Listados em todos os arquivos de cabeçalho em /src/core/config
interruptores construir Makefile Listados na /examples/common-switches.mk

exemplos de construção

Use um interruptor para ativar a funcionalidade de uma plataforma de exemplo. Por exemplo, para construir o exemplo CC2538 com suporte Comissário e Joiner habilitado:

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

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

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

binários

Os seguintes binários são gerados na /output/ <platform> /bin do processo de construção. Para determinar quais os binários são gerados, sinalizadores de opção uso do configure com o ./configure comando para gerar um atualizados Makefile para a 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 com rosca completa para projetos SoC --enable-cli
--enable-ftd
ot-cli-mtd dispositivo Tópico mínima para projetos SoC --enable-cli
--enable-mtd
ot-ncp-ftd dispositivo da linha completa de projetos do NCP --enable-ncp
--enable-ftd
ot-ncp-mtd dispositivo Tópico mínima para projetos NCP --enable-ncp
--enable-mtd
ot-rcp Anfitrião / 802.15.4 projeto do controlador --enable-ncp
--enable-radio-only

Se nem essas bandeiras nem um exemplo de plataforma não são usados, os aplicativos não são construídas, mas arquivos de biblioteca OpenThread ainda são gerados em /output/ <platform> /lib para uso em um projeto.

Confira os exemplos de Makefiles para cada plataforma para ver quais bandeiras cada plataforma suporta. Por exemplo, a TI CC2650 não suporta FTDs . Para mais informações sobre FTDs e MTDs, consulte o tópico Primer . Para mais informações sobre projetos SoC e NCP, consulte Plataformas .

O processo para flash estes binários varia entre plataformas exemplo. Veja as READMEs em de cada plataforma pasta exemplo para instruções detalhadas.

Construir Support Packages

Pacotes de construir o apoio (SBCP) são encontrados em /third_party . BSPs são códigos de terceiros adicional utilizado por OpenThread em cada plataforma respectiva, geralmente incluídos quando portar OpenThread para uma nova plataforma de hardware.