Nozioni di base su Infineon OPTIGA Trust X e XMC4800 IoT Connectivity Kit - Gratuito RTOS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Nozioni di base su Infineon OPTIGA Trust X e XMC4800 IoT Connectivity Kit

Importante

Questa integrazione di riferimento è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Consigliamo di iniziare da qui quando crei un nuovo progetto. Se hai già un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreeRTOS, consulta ilGuida alla migrazione del repository Github di Amazon-FreeRTOS.

Questo tutorial fornisce istruzioni per iniziare a utilizzare il kit di connessione Infineon OPTIGA Trust X Secure Element e XMC4800 IoT. Rispetto al tutorial Guida introduttiva al kit di connettività IoT Infineon XMC48 00, questa guida illustra come fornire credenziali sicure utilizzando Infineon OPTIGA Trust X Secure Element.

È necessario il seguente hardware:

  1. Host MCU - Kit di connettività IoT Infineon XMC4800, visita il catalogo dei dispositivi deiAWS partner per acquistarne uno dal nostro partner.

  2. Pacchetto di estensione di sicurezza:

    • Elemento di sicurezza - Infineon OPTIGA Trust X.

      Visita il catalogo dei dispositivi per iAWS partner per acquistarli dal nostro partner.

    • Scheda di personalizzazione - Scheda di personalizzazione Infineon OPTIGA.

    • Scheda adattatore - Infineon MyIo T Adapter.

Per seguire le fasi necessarie, è necessario aprire una connessione seriale con la scheda per visualizzare le informazioni di registrazione e di debug. (Uno dei passaggi richiede di copiare una chiave pubblica dall'output di debug seriale della scheda e incollarla in un file.) Per fare ciò, è necessario un convertitore USB/seriale da 3,3 V in aggiunta al kit di connettività IoT XMC4800. Il convertitore USB/seriale JBtek EL-PN-47310126 funziona con questa demo. Sono inoltre necessari tre cavi male-to-male jumper (per la ricezione (RX), la trasmissione (TX) e la messa a terra (GND)) per collegare il cavo seriale alla scheda adattatore Infineon MyIo T.

Prima di iniziare, devi configurareAWS IoT e scaricare FreeRTOS per connettere il tuo dispositivo alAWS Cloud. Per istruzioni, consulta Opzione 2: Generazione di chiavi private integrate. In questo tutorial, il percorso della directory di download di FreeRTOS viene chiamatofreertos.

Panoramica

Questa esercitazione contiene i seguenti passaggi:

  1. Installazione del software sul computer host per lo sviluppo e il debug di applicazioni integrate per la scheda con microcontrollore.

  2. Compila un'applicazione demo FreeRTOS in un'immagine binaria.

  3. Caricamento dell'immagine binaria dell'applicazione sulla scheda in uso e successiva esecuzione dell'applicazione.

  4. Interazione con l'applicazione in esecuzione sulla scheda attraverso una connessione seriale, per scopi di monitoraggio e debug.

Configurazione dell'ambiente di sviluppo

FreeRTOS utilizza l'ambiente di sviluppo DAVE di Infineon per programmare l'XMC4800. Prima di iniziare, devi scaricare e installare DAVE e alcuni driver J-Link per comunicare con il debugger della scheda.

Installa DAVE

  1. Andare alla pagina di download del software Infineon DAVE.

  2. Scegliere il pacchetto DAVE per il proprio sistema operativo e inviare le informazioni di registrazione. Dopo la registrazione con Infineon, verrà inviata un'e-mail di conferma con un link per scaricare un file .zip.

  3. Scaricare il file .zip del pacchetto DAVE (DAVE_version_os_date.zip) e decomprimerlo sul percorso in cui si desidera installare DAVE (ad esempio, C:\DAVE4).

    Nota

    Alcuni utenti di Windows hanno riportato problemi con Windows Explorer per decomprimere il file. È consigliabile utilizzare un programma di terze parti, ad esempio 7-Zip.

  4. Per avviare DAVE, eseguire il file eseguibile che si trova nella cartella decompressa DAVE_version_os_date.zip.

Per ulteriori informazioni, consulta la Guida rapida su DAVE.

Per comunicare con la sonda di debug integrata della scheda XMC4800 IoT del kit di connessione, sono necessari i driver inclusi nel pacchetto J-Link Software and Documentation. È possibile scaricare il pacchetto J-Link Software and Documentation dalla pagina di download del software J-Link di Segger.

Stabilire una connessione seriale

Collegare il cavo del convertitore USB/seriale all'adattatore Infineon Shield2Go. Questa operazione consente alla scheda di inviare le informazioni di accesso e di debug in un modulo che è possibile visualizzare sul computer di sviluppo. Per stabilire una connessione seriale:

  1. Collegare il pin RX al pin TX del convertitore USB/seriale.

  2. Collegare il pin TX al pin RX del convertitore USB/seriale.

  3. Collegare il pin di messa a terra del convertitore seriale a uno dei pin "GND" sulla scheda. I dispositivi devono condividere un terreno comune.

L'alimentazione è fornita dalla porta di debug USB, perciò non collegare il connettore di tensione positiva dell'adattatore seriale alla scheda.

Nota

Alcuni cavi seriali utilizzano un livello di segnale da 5V. La scheda XMC4800 e il modulo Wi-Fi Click richiedono un voltaggio da 3,3V. Non utilizzare il cavo di collegamento IOREF della scheda per modificare i segnali della scheda su 5V.

Con il cavo collegato, è possibile aprire una connessione seriale su un emulatore di terminale, ad esempio GNU Screen. Il baud rate è impostato su 115200 per impostazione predefinita con 8 bit di dati, nessuna parità, 1 bit di arresto.

Monitoraggio dei messaggi MQTT in cloud

Prima di eseguire il progetto demo di FreeRTOS, puoi configurare il client MQTT nellaAWS IoT console per monitorare i messaggi che il tuo dispositivo invia alAWS Cloud.

Per effettuare la sottoscrizione all'argomento MQTT con il client AWS IoT
  1. Accedi alla console AWS IoT.

  2. Nel pannello di navigazione, scegli Test, quindi scegli MQTT test client per aprire il client MQTT.

  3. In Argomento sottoscrizione, digitare your-thing-name/example/topic, quindi scegliere Effettua sottoscrizione all'argomento.

Quando il progetto demo viene eseguito correttamente sul tuo dispositivo, viene visualizzato «Hello World!» inviato più volte all'argomento a cui ti sei iscritto.

Crea ed esegui il progetto demo FreeRTOS

Importa la demo di FreeRTOS in DAVE

  1. Avvia DAVE.

  2. In DAVE scegliere File, quindi Import (Importa). Espandere la cartella Infineon, scegliere DAVE Project (Progetto DAVE), quindi scegliere Next (Successivo).

  3. Nella finestra Import DAVE Projects (Importa progetti DAVE), scegliere Select Root Directory (Seleziona directory principale), scegliere Browse (Sfoglia) e quindi scegliere il progetto demo XMC4800.

    Nella directory in cui hai decompresso il download di FreeRTOS, si trova il progetto demoprojects/infineon/xmc4800_plus_optiga_trust_x/dave4/aws_demos/dave4.

    Assicurarsi che l'opzione Copy Projects Into Workspace (Copia progetti nel workspace) sia deselezionata.

  4. Scegli Finish (Fine).

    Il progetto aws_demos deve essere importato nel workspace e attivato.

  5. Dal menu Project (Progetto), scegliere Build Active Project (Crea progetto attivo).

    Assicurarsi che il progetto venga creato senza errori.

Esegui il progetto demo FreeRTOS

  1. Dal menu Project (Progetto) scegliere Rebuild Active Project (Ricrea progetto attivo) per ricreare aws_demos e accertarsi che le modifiche di configurazione siano selezionate.

  2. Da Project Explorer, fare clic con il pulsante destro del mouse su aws_demos, scegliere Debug As (Debug come), e quindi scegliere DAVE C/C++ Application.

  3. Fare doppio clic su GDB SEGGER J-Link Debugging (Debug di GDB SEGGER J-) per creare una conferma del debug. Scegliere Debug.

  4. Quando il debugger si arresta sul punto di interruzione in main(), dal menu Run (Esegui), scegliere Resume (Riprendi).

A questo punto, continuare con la fase di estrazione della chiave pubblica in Opzione 2: Generazione di chiavi private integrate. Al termine di tutti i passaggi, andare alla console AWS IoT. Il client MQTT configurato in precedenza dovrebbe visualizzare i messaggi MQTT inviati dal dispositivo. Tramite la connessione seriale del dispositivo, si dovrebbe vedere qualcosa di simile sull'output UART:

0 0 [Tmr Svc] Starting key provisioning... 1 1 [Tmr Svc] Write root certificate... 2 4 [Tmr Svc] Write device private key... 3 82 [Tmr Svc] Write device certificate... 4 86 [Tmr Svc] Key provisioning done... 5 291 [Tmr Svc] Wi-Fi module initialized. Connecting to AP... .6 8046 [Tmr Svc] Wi-Fi Connected to AP. Creating tasks which use network... 7 8058 [Tmr Svc] IP Address acquired [IP Address] 8 8058 [Tmr Svc] Creating MQTT Echo Task... 9 8059 [MQTTEcho] MQTT echo attempting to connect to [MQTT Broker]. ...10 23010 [MQTTEcho] MQTT echo connected. 11 23010 [MQTTEcho] MQTT echo test echoing task created. .12 26011 [MQTTEcho] MQTT Echo demo subscribed to iotdemo/# 13 29012 [MQTTEcho] Echo successfully published 'Hello World 0' .14 32096 [Echoing] Message returned with ACK: 'Hello World 0 ACK' .15 37013 [MQTTEcho] Echo successfully published 'Hello World 1' 16 40080 [Echoing] Message returned with ACK: 'Hello World 1 ACK' .17 45014 [MQTTEcho] Echo successfully published 'Hello World 2' .18 48091 [Echoing] Message returned with ACK: 'Hello World 2 ACK' .19 53015 [MQTTEcho] Echo successfully published 'Hello World 3' .20 56087 [Echoing] Message returned with ACK: 'Hello World 3 ACK' .21 61016 [MQTTEcho] Echo successfully published 'Hello World 4' 22 64083 [Echoing] Message returned with ACK: 'Hello World 4 ACK' .23 69017 [MQTTEcho] Echo successfully published 'Hello World 5' .24 72091 [Echoing] Message returned with ACK: 'Hello World 5 ACK' .25 77018 [MQTTEcho] Echo successfully published 'Hello World 6' 26 80085 [Echoing] Message returned with ACK: 'Hello World 6 ACK' .27 85019 [MQTTEcho] Echo successfully published 'Hello World 7' .28 88086 [Echoing] Message returned with ACK: 'Hello World 7 ACK' .29 93020 [MQTTEcho] Echo successfully published 'Hello World 8' .30 96088 [Echoing] Message returned with ACK: 'Hello World 8 ACK' .31 101021 [MQTTEcho] Echo successfully published 'Hello World 9' 32 104102 [Echoing] Message returned with ACK: 'Hello World 9 ACK' .33 109022 [MQTTEcho] Echo successfully published 'Hello World 10' .34 112047 [Echoing] Message returned with ACK: 'Hello World 10 ACK' .35 117023 [MQTTEcho] Echo successfully published 'Hello World 11' 36 120089 [Echoing] Message returned with ACK: 'Hello World 11 ACK' .37 122068 [MQTTEcho] MQTT echo demo finished. 38 122068 [MQTTEcho] ----Demo finished----

Crea la demo di FreeRTOS con CMake

Questa sezione descrive l'uso di CMake su Windows con MingW come sistema di compilazione nativo. Per ulteriori informazioni sull'uso di CMake con altri sistemi operativi e altre opzioni, consulta Usare CMake con FreerTOS. (MinGW è un ambiente di sviluppo minimalista per applicazioni Microsoft Windows native).

Se preferisci non utilizzare un IDE per lo sviluppo di FreeRTOS, puoi usare CMake per creare ed eseguire le applicazioni demo o le applicazioni che hai sviluppato utilizzando editor di codice e strumenti di debug di terze parti.

Per creare la demo di FreeRTOS con CMake
  1. Configurare la suite di strumenti GNU ARM Embedded Toolchain.

    1. Scaricare una versione per Windows della toolchain dalla pagina di download di ARM Embedded Toolchain.

      Nota

      È consigliabile scaricare una versione diversa da "8-2018-q4-major", a causa di un bug rilevato mediante l'utilità "objcopy" in tale versione.

    2. Aprire il programma di installazione toolchain scaricato e seguire le istruzioni nella procedura guidata.

    3. Nella pagina finale della procedura guidata di installazione, selezionare Add path to environment variable (Aggiungi percorso a variabili di ambiente) per aggiungere il percorso della toolchain alla variabile di ambiente del percorso di sistema.

  2. Installare CMake e MingW.

    Per istruzioni, consultare CMake Prerequisiti.

  3. Creare una cartella per contenere i file della build generati (build-folder).

  4. Cambia le directory nella cartella di download di FreeRTOS (freertos) e usa il seguente comando per generare i file di build:

    cmake -DVENDOR=infineon -DBOARD=xmc4800_plus_optiga_trust_x -DCOMPILER=arm-gcc -S . -B build-folder -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
  5. Passare alla directory di compilazione (build-folder) e utilizzare il comando seguente per compilare il file binario:

    cmake --build . --parallel 8

    Questo comando crea il file binario di output aws_demos.hex nella directory di compilazione.

  6. Effettuare il flashing ed eseguire l'immagine con JLINK.

    1. Dalla directory di compilazione (build-folder), utilizzare i comandi seguenti per creare uno script di flashing:

      echo loadfile aws_demos.hex > flash.jlink echo r >> flash.jlink echo g >> flash.jlink echo q >> flash.jlink
    2. Effettuare il flashing dell'immagine utilizzando l'eseguibile JLNIK.

      JLINK_PATH\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlink

      I log dell'applicazione devono essere visibili mediante la connessione seriale stabilita con la scheda. Continuare al passaggio di estrazione della chiave pubblica in Opzione 2: Generazione di chiavi private integrate. Al termine di tutti i passaggi, andare alla console AWS IoT. Il client MQTT configurato in precedenza dovrebbe visualizzare i messaggi MQTT inviati dal dispositivo.

Risoluzione dei problemi

Per informazioni generiche sulla risoluzione dei problemi, consultare Nozioni di base sulla risoluzione dei problemi.