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 è:
- Configura l'ambiente di build e installa la toolchain desiderata:
- Per creare direttamente su una macchina,consulta il Codelab sulla simulazione per istruzioni dettagliate.
- 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
- 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
- Dalla directory radice del repository clonato:
- Installa la toolchain:
./script/bootstrap
- Crea la configurazione:
./script/build platform-specific-args cmake-options
- Installa la toolchain:
- Esegui il flashing del file binario desiderato sulla piattaforma di destinazione. Tutti i file binari generati vengono
si trova in
./build/bin
.
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.