Crea OpenThread

Visualizza origine su GitHub

Come creare 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 build e installa la toolchain desiderata:
    1. Per creare direttamente su una macchina,consulta il codelab sulla simulazione per istruzioni dettagliate
    2. Per utilizzare un container Docker con un ambiente preconfigurato, scarica ed esegui l'immagine environmentThreadOpen:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. All'interno dell'ambiente scelto, clona il repository Git OpenThread specifico della piattaforma. Considerando ad esempio CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Dalla directory principale clonata:
    1. Installa la toolchain:
      ./script/bootstrap
      
    2. Crea la configurazione:
      ./script/build platform-specific-args cmake-options
      
  4. Esegui il flashing del programma binario alla piattaforma di destinazione. Tutti i programmi binari generati si trovano in ./build/bin.

Configurazione

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

Tipo Località
Costanti nel tempo di compilazione Elencata in tutti i file di intestazione in /src/core/config
opzioni build cmake Quotato alla community openthread/examples/README.md

Esempi di build

Utilizza le opzioni di build cmake per abilitare la funzionalità per la piattaforma. Ad esempio, per creare il programma binario per la piattaforma CC2538 con il supporto di Commissioner e Joiner abilitato:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

In alternativa, per creare la piattaforma nRF52840 con la funzionalità di rilevamento Jam attivata nel relativo repository:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Programmi binari

I seguenti programmi binari vengono generati in ./build/bin dal processo di compilazione. Per determinare quali programmi binari vengono generati, utilizza i flag con il comando ./script/build. Ad esempio, per creare OpenThread e generare solo il programma binario dell'interfaccia a riga di comando FTD:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
Programma binario Descrizione Opzioni
ot-cli-ftd Dispositivo Thread completo per progetti SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Dispositivo Thread minimo per progettazione SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Dispositivo completo con thread per processori di rete del co-processore (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Dispositivo Thread minimo per i progetti NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Progettazione di co-processori radio (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Per impostazione predefinita, sono attivi tutti i flag riportati sopra. Se disabiliti esplicitamente tutti i flag, le applicazioni non vengono create, ma i file della libreria OpenThread vengono comunque generati in ./build/lib per essere utilizzati in un progetto.

Controlla i file di esempio di esempio per ogni piattaforma per vedere quali flag sono supportati da ogni piattaforma. Per ulteriori informazioni sugli FTD e sugli MTD, consulta l'articolo Thread Primer. Per ulteriori informazioni sui progetti SoC e NCP, consulta la sezione Piattaforme.

Il processo per eseguire il flashing di questi programmi binari varia a seconda delle piattaforme di esempio. Per le istruzioni dettagliate, consulta la sezione README in ogni cartella di esempio di ogni piattaforma.

Daemon OpenThread

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

Creazione di pacchetti di assistenza

I pacchetti di supporto per le build si trovano in /third_party. I BSP sono codice di terze parti aggiuntivo utilizzato da OpenThread su ogni piattaforma, in genere incluso quando trasferisci OpenThread su una nuova piattaforma hardware.