Google si impegna a far progredire equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

costruire OpenThread

toolchain

La toolchain principale supportato per la costruzione OpenThread è GNU Autotools.

GNU Autotools

Le istruzioni per la costruzione di esempi con GNU Autotools possono essere trovati in di ogni esempio cartella della piattaforma . Si noti che l'intento di questi esempi è mostrare il codice minimo necessario per eseguire OpenThread su ciascuna rispettiva piattaforma. Come tali, essi non evidenziano piena funzionalità della piattaforma.

Ulteriore configurazione durante costruisce potrebbe essere necessario, a seconda del caso d'uso.

GNU Autotools - Nest Labs accumulo

Nest Labs ha creato un quadro di sistema personalizzato, chiavi in ​​mano di generazione, basata su GNU Autotools. Questo è usato per i pacchetti software standalone che necessità di sostenere:

  • costruendo e targeting contro sistemi host standalone costruire
  • sistemi di destinazione embedded utilizzando toolchain GCC-based o compatibili

La build Nest Labs di GNU Autotools è raccomandare per l'uso con OpenThread perché alcuni sistemi host accumulo potrebbero non avere GNU Autotools, o potrebbero avere versioni e distribuzioni differenti. Questo porta a incoerente uscita Autotools primaria e secondaria, che si traduce in un'esperienza utente divergenti e supporto. La build Nest Labs evita questo, fornendo un set qualificato pre-costruito di GNU Autotools con gli script associati che non si basano sulle versioni del Autotools sul sistema host build.

Questo progetto è in genere subtreed (o git submoduled) in un repository progetto di destinazione e serve come il seme per il sistema di compilazione che di progetto.

Per ulteriori informazioni, o per utilizzare questo strumento per la vostra OpenThread costruisce, vedere il README .

Come costruire OpenThread

I passi per costruire OpenThread variano a seconda toolchain, macchina utilizzatrice, e piattaforma di destinazione.

Il più comune è il flusso di lavoro:

  1. Impostare l'ambiente di sviluppo e installare il toolchain desiderata:
    1. Per costruire direttamente su una macchina, vedere la simulazione Codelab per le istruzioni dettagliate
    2. Per utilizzare un contenitore Docker con un ambiente pre-configurato, scaricare ed eseguire il OpenThread environment immagine:
       docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash 
  2. All'interno l'ambiente prescelto, clonare il repository Git OpenThread:
     git clone https://github.com/openthread/openthread 
  3. Dalla directory root del repository clonato:
    1. Installare la toolchain GNU e altre dipendenze (opzionale):
       ./script/bootstrap 
    2. Impostare l'ambiente:
       ./bootstrap 
    3. Configurare e generare, attraverso esempi piattaforma predefiniti con personalizzazione opzionale tramite interruttori comuni:
      1. Modifica OpenThread costanti in fase di compilazione nella piattaforma selezionata /examples/platforms/ <platform> /openthread-core- <platform> -config.h di file
      2. Costruire la configurazione:
         make -f examples/Makefile- <platform> <switches> 
  4. Flash il binario desiderato per la piattaforma di destinazione. Tutti i file binari generati si trovano in /output/ <platform> /bin . Quando si utilizza la modalità avanzata, la <platform> può essere specifico per macchina dell'utente. Ad esempio, x86_64-apple-darwin .

Le istruzioni specifiche su come costruire le piattaforme supportate con GNU Autotools possono essere trovati in di ogni esempio cartella della piattaforma .

Configurazione

È possibile configurare OpenThread per le diverse funzionalità e il comportamento durante il processo di compilazione. le opzioni di configurazione disponibili sono descritti nei seguenti punti:

genere Posizione
costanti di tempo di compilazione Elencati in tutti i file di intestazione in /src/core/config
interruttori di build Makefile Elencati in /examples/common-switches.mk

esempi di compilazione

Utilizzare un interruttore per attivare la funzionalità di una piattaforma esempio. Ad esempio, per costruire l'esempio CC2538 con il supporto di Commissario e Joiner abilitato:

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

Oppure, per costruire l'esempio nRF52840 con la funzione Jam Detection attivata:

 make -f examples/Makefile-nrf52840 JAM_DETECTION=1 

Binari

I seguenti file binari sono generati in /output/ <platform> /bin dal processo di compilazione. Per determinare quali file binari vengono generate, usare Configura flag di opzione con il ./configure comando per generare una versione aggiornata Makefile per la costruzione. Ad esempio, per costruire OpenThread e generare solo i file binari CLI:

 ./configure --enable-cli
make 
Binario Descrizione Configurare bandiere di opzione
ot-cli-ftd Dispositivo Discussione completo per progetti SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo Discussione minima per progetti SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo Discussione completa per i disegni di NCP --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo Discussione minima per i disegni di NCP --enable-ncp
--enable-mtd
ot-rcp Host 802.15.4 disegno / regolatore --enable-ncp
--enable-radio-only

Se non si utilizzano né questi bandiere né un esempio di piattaforma, le applicazioni non sono costruite, ma i file di libreria OpenThread sono ancora generati in /output/ <platform> /lib per l'utilizzo in un progetto.

Controllare l'esempio Makefile per ogni piattaforma per vedere che le bandiere ciascuna con supporto della piattaforma. Ad esempio, la TI CC2650 non supporta FTD . Per maggiori informazioni su FTD e MTD, vedere il filo Primer . Per ulteriori informazioni su progetti SoC e NCP, vedere le piattaforme .

Il processo a lampeggiare questi binari varia tra le piattaforme di esempio. Vedi le README in di ogni piattaforma cartella di esempio per le istruzioni dettagliate.

Costruire pacchetti di supporto

Costruire Support Packages (BSP) si trovano in /third_party . BSP sono codice aggiuntivo di terze parti usato dai OpenThread su ogni rispettiva piattaforma, generalmente incluso quando porting OpenThread ad una nuova piattaforma hardware.