Crea OpenThread

Visualizza il codice sorgente su GitHub

Come creare OpenThread

I passaggi per creare OpenThread variano a seconda della toolchain, del computer dell'utente e 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 OpenThread environment:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. Nell'ambiente scelto, clona il repository Git OpenThread specifico della piattaforma. Prendiamo come esempio CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. Dalla directory radice del repository clonato:
    1. Installa la toolchain:
      ./script/bootstrap
      
    2. Crea la configurazione:
      ./script/build platform-specific-args cmake-options
      
  4. Esegui il flashing del file binario desiderato sulla piattaforma di destinazione. Tutti i file binari generati vengono si trova in ./build/bin.
di Gemini Advanced.

Configurazione

Puoi configurare OpenThread per funzionalità e comportamenti diversi durante un processo di compilazione. Le opzioni di configurazione disponibili sono descritte di seguito in dettaglio località:

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

Esempi di build

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

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

Oppure, per creare la piattaforma nRF52840 con il rilevamento di Jam funzionalità abilitata nel suo repository:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

Programmi binari

I seguenti file binari vengono generati in ./build/bin dal processo di compilazione. Per determinare quali file binari vengono generati, utilizza i flag con il comando ./script/build. Ad esempio, per creare OpenThread e generare solo il file 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
Binario Descrizione Opzioni
ot-cli-ftd Dispositivo Full Thread per progetti SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd Dispositivo Thread Minimal per progetti SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd Dispositivo Full Thread per progetti di co-processori di rete (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd Dispositivo Thread Minimal per progetti NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp Progettazione di un co-processore radiofonico (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

Per impostazione predefinita, tutti i flag precedenti sono abilitati. Se disabiliti esplicitamente tutti i flag, le applicazioni non verranno i file della libreria OpenThread vengono comunque generati in ./build/lib per essere utilizzati in un progetto.

Controlla la directory examples/platforms per vedere i flag di ciascuna piattaforma Google Cloud. Per ulteriori informazioni su FTD e MTD, consulta Thread Primer. Per Per ulteriori informazioni sulle progettazioni SoC e NCP, consulta Piattaforme.

Il processo per eseguire il flashing di questi file binari varia a seconda delle piattaforme di esempio. Consulta le i file README nei file cartella di esempio per istruzioni dettagliate.

Daemon OpenThread

Il daemon OT (OpenThread Daemon) è una modalità di build POSIX OpenThread che viene eseguita OpenThread come servizio e viene utilizzato con il design RCP. Per ulteriori informazioni su come crearlo e utilizzarlo, vedi OpenThread Daemon.

Crea pacchetti di assistenza

I pacchetti di assistenza per la creazione (BSP) sono disponibili in /third_party I BSP sono codice aggiuntivo di terze parti utilizzato da OpenThread su ogni rispettiva piattaforma, generalmente incluso durante il trasferimento di OpenThread a una nuova piattaforma hardware.