Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Crea OpenThread

Toolchain

La principale toolchain supportata per la creazione di OpenThread è GNU Autotools.

GNU Autotools

Le istruzioni sulla creazione di esempi con GNU Autotools possono essere trovate nella cartella della piattaforma di ogni esempio. Si noti che lo scopo di questi esempi è mostrare il codice minimo necessario per eseguire OpenThread su ciascuna rispettiva piattaforma. In quanto tali, non evidenziano le funzionalità complete della piattaforma.

Potrebbe essere necessaria un'ulteriore configurazione durante le build, a seconda del caso d'uso.

GNU Autotools - build di Nest Labs

Nest Labs ha creato un framework di sistema personalizzato e chiavi in ​​mano, basato su GNU Autotools. Viene utilizzato per i pacchetti software indipendenti che devono supportare:

  • costruire e puntare contro sistemi host di compilazione autonomi
  • sistemi di destinazione incorporati che utilizzano toolchain basati su GCC o compatibili

Si consiglia di utilizzare la build Nest Labs di GNU Autotools con OpenThread perché alcuni sistemi host di build potrebbero non avere GNU Autotools o potrebbero avere versioni e distribuzioni differenti. Ciò porta all'output di Autotools primario e secondario incoerente, che si traduce in un'esperienza utente e di supporto divergente. La build di Nest Labs evita questo problema fornendo un set predefinito e qualificato di GNU Autotools con script associati che non si basano sulle versioni di Autotools sul sistema host di build.

Questo progetto è tipicamente sottoalbero (o sottomodulato git) in un repository del progetto di destinazione e funge da seme per il sistema di compilazione di quel progetto.

Per saperne di più o per usare questo strumento per le tue build OpenThread, consulta il README .

Come costruire OpenThread

I passaggi per creare OpenThread variano a seconda della toolchain, della macchina utente e della piattaforma di destinazione.

Il flusso di lavoro più comune è:

  1. Configura l'ambiente di compilazione e installa la toolchain desiderata:
    1. Per costruire direttamente su una macchina, vedere il Simulation Codelab per istruzioni dettagliate
    2. Per utilizzare un contenitore Docker con un ambiente preconfigurato, scarica ed esegui l'immagine environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
  2. All'interno dell'ambiente scelto, clona il repository Git OpenThread:
    git clone https://github.com/openthread/openthread
  3. Dalla directory principale del repository clonato:
    1. Installa la toolchain GNU e altre dipendenze (opzionale):
      ./script/bootstrap
    2. Configura l'ambiente:
      ./bootstrap
    3. Configura e crea, utilizzando esempi di piattaforma predefiniti con personalizzazione opzionale tramite switch comuni:
      1. Modifica le costanti in fase di compilazione di /examples/platforms/ <platform> /openthread-core- <platform> -config.h file /examples/platforms/ <platform> /openthread-core- <platform> -config.h
      2. Compila la configurazione:
        make -f examples/Makefile-<platform> <switches>
  4. Flash il binario desiderato sulla piattaforma di destinazione. Tutti i file binari generati si trovano in /output/ <platform> /bin . Quando si utilizza la modalità avanzata, la <platform> potrebbe essere specifica per la macchina dell'utente. Ad esempio, x86_64-apple-darwin .

Istruzioni specifiche sulla creazione di piattaforme supportate con GNU Autotools possono essere trovate nella cartella della piattaforma di ogni esempio.

Configurazione

È possibile configurare OpenThread per diverse funzionalità e comportamenti durante il processo di compilazione. Le opzioni di configurazione disponibili sono descritte in dettaglio nelle seguenti posizioni:

genere Posizione
Costanti in fase di compilazione Elencato in tutti i file di intestazione in /src/core/config
Opzioni di build del makefile Elencato in /examples/common-switches.mk

Costruisci esempi

Utilizza un interruttore per abilitare la funzionalità per una piattaforma di esempio. Ad esempio, per creare l'esempio CC2538 con il supporto di Commissioner e Joiner abilitato:

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

Oppure, per creare l'esempio nRF52840 con la funzione di rilevamento degli inceppamenti abilitata:

make -f examples/Makefile-nrf52840 JAM_DETECTION=1

Binari

I seguenti file binari vengono generati in /output/ <platform> /bin dal processo di compilazione. Per determinare quali binari vengono generati, utilizzare i flag delle opzioni di configurazione con il comando ./configure per generare un Makefile aggiornato per la creazione. Ad esempio, per creare OpenThread e generare solo i binari della CLI:

./configure --enable-cli
make
Binario Descrizione Configura flag di opzione
ot-cli-ftd Dispositivo Full Thread per progetti SoC --enable-cli
--enable-ftd
ot-cli-mtd Dispositivo Minimal Thread per progetti SoC --enable-cli
--enable-mtd
ot-ncp-ftd Dispositivo Full Thread per progetti di co-processore di rete (NCP) --enable-ncp
--enable-ftd
ot-ncp-mtd Dispositivo con filettatura minima per progetti NCP --enable-ncp
--enable-mtd
ot-rcp Progettazione di un coprocessore radio (RCP) --enable-ncp
--enable-radio-only

Se non vengono utilizzati né questi flag né un esempio di piattaforma, le applicazioni non vengono compilate ma i file della libreria OpenThread vengono comunque generati in /output/ <platform> /lib per l'utilizzo in un progetto.

Controlla i Makefile di esempio per ciascuna piattaforma per vedere quali flag supporta ciascuna piattaforma. Ad esempio, TI CC2650 non supporta gli FTD . Per ulteriori informazioni su FTD e MTD, vedere il Thread Primer . Per ulteriori informazioni sui progetti SoC e NCP, vedere Piattaforme .

Il processo per eseguire il flashing di questi file binari varia a seconda delle piattaforme di esempio. Vedere i README nella cartella di esempio di ciascuna piattaforma per istruzioni dettagliate.

OpenThread Daemon

OpenThread Daemon (OT Daemon) è una modalità di compilazione POSIX OpenThread che esegue OpenThread come servizio e viene utilizzata con il progetto RCP. Per ulteriori informazioni su come crearlo e utilizzarlo, vedere OpenThread Daemon .

Crea pacchetti di supporto

I Build Support Package (BSP) si trovano in /third_party . I BSP sono codice aggiuntivo di terze parti utilizzato da OpenThread su ciascuna rispettiva piattaforma, generalmente incluso quando si esegue il porting di OpenThread su una nuova piattaforma hardware.