Démarrez avec le kit XMC4800 IoT Connectivity Kit et Infineon OPTIGA Trust X - Gratuit RTOS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrez avec le kit XMC4800 IoT Connectivity Kit et Infineon OPTIGA Trust X

Important

Cette intégration de référence est hébergée sur le référentiel Amazon-FreeRTOS, qui est obsolète. Nous vous recommandons de commencer ici lorsque vous créez un nouveau projet. Si vous possédez déjà un projet FreeRTOS basé sur le référentiel Amazon-FreeRTOS, désormais obsolète, consultez leGuide de migration du référentiel RTOS Github gratuit sur Amazon.

Ce didacticiel fournit des instructions pour la mise en route avec l'élément sécurisé OPTIGA Trust X Secure Element et le kit de connectivité IoT XMC4800 Connectivity Kit. Par rapport au didacticiel Commencer à utiliser le kit de connectivité Infineon XMC48 00 IoT, ce guide vous montre comment fournir des informations d'identification sécurisées à l'aide d'un élément sécurisé Infineon OPTIGA Trust X.

Vous aurez besoin du matériel suivant :

  1. Microcontrôleur hôte - Kit de connectivité IoT Infineon XMC4800, consultez le catalogue d'appareilsAWS partenaires pour en acheter un auprès de notre partenaire.

  2. Pack d'extension de sécurité :

    • Élément sécurisé - Infineon OPTIGA Trust X.

      Consultez le catalogue d'appareilsAWS partenaires pour les acheter auprès de notre partenaire.

    • Carte de personnalisation - Carte de personnalisation Infineon OPTIGA.

    • Carte adaptateur - Adaptateur Infineon MyIo T.

Pour suivre ces étapes, vous devez ouvrir une connexion série avec la carte pour afficher les informations de journalisation et de débogage. (L'une des étapes vous oblige à copier une clé publique à partir de la sortie de débogage en série de la carte et à la coller dans un fichier.) Pour ce faire, vous avez besoin d'un convertisseur USB/série 3,3 V en plus du kit de connectivité IoT XMC4800. Par exemple, le convertisseur USB/série JBtek EL-PN-47310126 fonctionne pour cette démonstration. Vous avez également besoin male-to-male de trois fils de liaison (pour la réception (RX), la transmission (TX) et la terre (GND)) pour connecter le câble série à la carte adaptateur Infineon MyIo T.

Avant de commencer, vous devez configurerAWS IoT et télécharger FreeRTOS pour connecter votre appareil auAWS Cloud. Pour des instructions, consultez Option 2 : Génération de clés privées embarquées. Dans ce didacticiel, le chemin d'accès au répertoire de téléchargement de FreeRTOS est appeléfreertos.

Présentation

Ce didacticiel contient les étapes suivantes :

  1. Installation du logiciel sur la machine hôte pour développer et déboguer les applications intégrées de votre carte de microcontrôleur.

  2. Compilez une application de démonstration FreeRTOS en une image binaire.

  3. Chargement de l’image binaire de l’application dans votre carte et exécution de l’application.

  4. À des fins de surveillance et de débogage, l’interaction avec l’application s’exécutant sur votre carte via une connexion série.

Configurer votre environnement de développement.

FreeRTOS utilise l'environnement de développement DAVE d'Infineon pour programmer le XMC4800. Avant de commencer, téléchargez et installez Dave, ainsi que certains pilotes J-Link pour communiquer avec le débogueur embarqué.

Installer DAVE

  1. Accédez à la page de téléchargement du logiciel DAVE d'Infineon.

  2. Choisissez le package DAVE pour votre système d'exploitation et soumettez vos informations d'inscription. Après vous être enregistré, vous devez recevoir un e-mail de confirmation avec un lien pour télécharger un fichier .zip.

  3. Téléchargez le fichier .zip du package DAVE (DAVE_version_os_date.zip) et décompressez-le à l'emplacement où vous souhaitez installer DAVE (par exemple, C:\DAVE4).

    Note

    Certains utilisateurs‌ Windows ont signalé des problèmes dans l'utilisation de l'Explorateur Windows pour décompresser le fichier. Nous vous recommandons d'utiliser un programme tiers tel que 7-Zip.

  4. Pour lancer DAVE, exécutez le fichier exécutable trouvé dans le dossier DAVE_version_os_date.zip décompressé.

Pour plus d'informations, consultez le document DAVE Quick Start Guide.

Pour communiquer avec la sonde de débogage embarquée du kit XMC4800 IoT Connectivity Kit, vous avez besoin des pilotes inclus dans le pack J-Link Software and Documentation. Vous pouvez télécharger le pack J-Link Software and Documentation à partir de la page J-Link software download de Segger.

Établir une connexion série

Connectez le câble du convertisseur USB/série à l'adaptateur Infineon Shield2Go. Cela permet à votre carte d'envoyer les informations de journalisation et de débogage dans un formulaire que vous pouvez afficher sur votre machine de développement. Pour configurer une connexion série :

  1. Connectez la broche RX à la broche TX de votre convertisseur USB/série.

  2. Connectez la broche TX à la broche RX de votre convertisseur USB/série.

  3. Connectez la broche Ground de votre convertisseur série à l'une des broches GND sur votre carte. Les appareils doivent partager une position commune.

Comme l'alimentation est fournie à partir du port de débogage USB, ne connectez pas la broche de voltage positif de l'adaptateur série à la carte.

Note

Certains câbles série utilisent un niveau de signalisation 5V. La carte XMC4800 et le module Wi-Fi Click nécessitent un niveau 3.3 V. N'utilisez pas le jumper IOREF de la carte pour modifier les signaux de la carte sur 5 V.

Avec le câble connecté, vous pouvez ouvrir une connexion série sur un émulateur de terminal tel que GNU Screen. La vitesse de transmission est définie sur 115200 par défaut avec des données 8 bits, aucune parité et 1 bit d'arrêt.

Surveillance des messages MQTT dans le cloud

Avant de lancer le projet de démonstration FreeRTOS, vous pouvez configurer le client MQTT dans laAWS IoT console pour surveiller les messages que votre appareil envoie auAWS Cloud.

Pour vous abonner à la rubrique MQTT avec le client MQTT AWS IoT
  1. Connectez-vous à la console AWS IoT.

  2. Dans le volet de navigation, choisissez Test, puis choisissez le client de test MQTT pour ouvrir le client MQTT.

  3. Dans le champ Rubrique d'abonnement, saisissez your-thing-name/example/topic, puis choisissez S'abonner à la rubrique.

Lorsque le projet de démonstration s'exécute correctement sur votre appareil, le message « Hello World ! » s'affiche envoyé plusieurs fois au sujet auquel vous vous êtes abonné.

Créez et exécutez le projet de démonstration FreeRTOS

Importez la démo de FreeRTOS dans DAVE

  1. Démarrez DAVE.

  2. Dans DAVE, choisissez File (Fichier), puis Import (Importer). Développez le dossier Infineon, choisissez DAVE Project (Projet DAVE), puis choisissez Next (Suivant).

  3. Dans la fenêtre Import DAVE Projects, choisissez Select Root Directory, puis Browse, et, enfin, le projet de démonstration XMC4800.

    Le projet de démonstration se trouve dans le répertoire dans lequel vous avez décompressé votre téléchargement FreeRTOSprojects/infineon/xmc4800_plus_optiga_trust_x/dave4/aws_demos/dave4.

    Assurez-vous que la case Copy Projects Into Workspace (Copier les projets dans l’espace de travail) est décochée.

  4. Choisissez Finish (Terminer).

    Le projet aws_demos doit être importé dans votre espace de travail et activé.

  5. Dans le menu Project (Projet), choisissez Build Active Project (Générer le projet actif).

    Assurez-vous que le projet est généré sans erreur.

Exécutez le projet de démonstration FreeRTOS

  1. Dans le menu Project (Projet), choisissez Rebuild Active Project (Reconstruire le projet actif) pour reconstruire aws_demos et confirmer que les modifications de configuration sont collectées.

  2. Dans Project Explorer, cliquez avec le bouton droit sur aws_demos, choisissez Debug As, puis DAVE C/C++ Application.

  3. Double-cliquez sur GDB SEGGER J-Link Debugging pour créer une confirmation de débogage. Choisissez Debug.

  4. Lorsque le débogueur s'arrête au point d'arrêt dans main(), dans le menu Run (Exécuter), choisissez Resume (Reprendre).

À ce stade, passez à l'étape d’extraction de clé publique dans Option 2 : Génération de clés privées embarquées. Une fois toutes les étapes terminées, accédez à la console AWS IoT. Le client MQTT que vous avez configuré précédemment doit afficher les messages MQTT envoyés par votre appareil. Via la connexion série de l'appareil, vous devriez voir quelque chose comme ce qui suit dans la sortie 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----

Créez la démo de FreeRTOS avec CMake

Cette section couvre l'utilisation de CMake sous Windows avec MingW comme système de génération natif. Pour de plus amples informations sur l'utilisation de CMake avec d'autres systèmes d'exploitation et options, veuillez consulter Utilisation de CMake avec FreeRTOS. (MinGW est un environnement de développement minimaliste pour les applications Microsoft Windows natives.)

Si vous préférez ne pas utiliser d'IDE pour le développement de FreeRTOS, vous pouvez utiliser CMake pour créer et exécuter les applications de démonstration ou les applications que vous avez développées à l'aide d'éditeurs de code et d'outils de débogage tiers.

Pour créer la démo de FreeRTOS avec CMake
  1. Configurez la chaîne d'outils GNU Arm Embedded.

    1. Téléchargez une version Windows de la chaîne d'outils à partir de la page de téléchargement de la chaîne d'outils Arm Embedded.

      Note

      En raison d'un bogue signalé dans l'utilitaire « objcopy », nous vous recommandons de télécharger une version autre que la version « 8-2018-q4-major ».

    2. Ouvrez le programme d'installation de la chaîne d'outils téléchargé et suivez les instructions de l'assistant.

    3. Sur la dernière page de l'assistant d'installation, sélectionnez Ajouter un chemin d'accès à la variable d'environnement pour ajouter le chemin d'accès de la chaîne d'outils à la variable d'environnement du chemin d'accès système.

  2. Installez CMake et MingW.

    Pour de plus amples informations, veuillez consulter Prérequis CMake.

  3. Créez un dossier pour contenir les fichiers de version générés (build_folder).

  4. Remplacez les répertoires par votre répertoire de téléchargement FreeRTOS (freertos) et utilisez la commande suivante pour générer les fichiers de construction :

    cmake -DVENDOR=infineon -DBOARD=xmc4800_plus_optiga_trust_x -DCOMPILER=arm-gcc -S . -B build-folder -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
  5. Remplacez les répertoires par le répertoire de génération (build_folder) et utilisez la commande suivante pour générer le fichier binaire :

    cmake --build . --parallel 8

    Cette commande crée la sortie binaire aws_demos.hex dans le répertoire de génération.

  6. Flashez et exécutez l'image avec JLINK.

    1. Depuis le répertoire de génération (build_folder), utilisez les commandes suivantes pour créer un script flash :

      echo loadfile aws_demos.hex > flash.jlink echo r >> flash.jlink echo g >> flash.jlink echo q >> flash.jlink
    2. Flashez l'image à l'aide de l'exécutable JLNIK.

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

      Les journaux d'application doivent être visibles via la connexion en série que vous avez créée avec la carte. Passez à l'étape d'extraction de clé publique Option 2 : Génération de clés privées embarquées. Une fois toutes les étapes terminées, accédez à la console AWS IoT. Le client MQTT que vous avez configuré précédemment doit afficher les messages MQTT envoyés par votre appareil.

Résolution des problèmes

Pour plus d'informations sur le dépannage, consultez Résolution des problèmes de mise en route.