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 :
-
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
. -
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
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 :
-
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.
-
Compilez une application de démonstration FreeRTOS en une image binaire.
-
Chargement de l’image binaire de l’application dans votre carte et exécution de l’application.
-
À 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
-
Accédez à la page de téléchargement du logiciel DAVE
d'Infineon. -
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.
-
Téléchargez le fichier .zip du package DAVE (
DAVE_
) et décompressez-le à l'emplacement où vous souhaitez installer DAVE (par exemple,version
_os
_date
.zipC:\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.
-
Pour lancer DAVE, exécutez le fichier exécutable trouvé dans le dossier
DAVE_
décompressé.version
_os
_date
.zip
Pour plus d'informations, consultez le document DAVE Quick Start Guide
Installer les pilotes Segger J-Link
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
É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 :
-
Connectez la broche RX à la broche TX de votre convertisseur USB/série.
-
Connectez la broche TX à la broche RX de votre convertisseur USB/série.
-
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
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
-
Connectez-vous à la console AWS IoT
. -
Dans le volet de navigation, choisissez Test, puis choisissez le client de test MQTT pour ouvrir le client MQTT.
-
Dans le champ Rubrique d'abonnement, saisissez
, puis choisissez S'abonner à la rubrique.your-thing-name
/example/topic
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
-
Démarrez DAVE.
-
Dans DAVE, choisissez File (Fichier), puis Import (Importer). Développez le dossier Infineon, choisissez DAVE Project (Projet DAVE), puis choisissez Next (Suivant).
-
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 FreeRTOS
projects/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.
-
Choisissez Finish (Terminer).
Le projet
aws_demos
doit être importé dans votre espace de travail et activé. -
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
-
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. -
Dans Project Explorer, cliquez avec le bouton droit sur
aws_demos
, choisissez Debug As, puis DAVE C/C++ Application. -
Double-cliquez sur GDB SEGGER J-Link Debugging pour créer une confirmation de débogage. Choisissez Debug.
-
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
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
-
Configurez la chaîne d'outils GNU Arm Embedded.
-
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 ». -
Ouvrez le programme d'installation de la chaîne d'outils téléchargé et suivez les instructions de l'assistant.
-
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.
-
-
Installez CMake et MingW.
Pour de plus amples informations, veuillez consulter Prérequis CMake.
-
Créez un dossier pour contenir les fichiers de version générés (
build_folder
). -
Remplacez les répertoires par votre répertoire de téléchargement FreeRTOS (
) et utilisez la commande suivante pour générer les fichiers de construction :freertos
cmake -DVENDOR=infineon -DBOARD=xmc4800_plus_optiga_trust_x -DCOMPILER=arm-gcc -S . -B
build-folder
-G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0 -
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. -
Flashez et exécutez l'image avec JLINK.
-
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
-
Flashez l'image à l'aide de l'exécutable JLNIK.
JLINK_PATH
\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlinkLes 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.