Téléchargez, compilez, flashez et exécutez la démo FreeRTOS OTA sur le Renesas RX65N - 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.

Téléchargez, compilez, flashez et exécutez la démo FreeRTOS OTA sur le Renesas RX65N

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 le. Guide de migration du référentiel RTOS Github gratuit sur Amazon

Ce chapitre explique comment télécharger, créer, flasher et exécuter les applications de démonstration FreeRTOS OTA sur le Renesas RX65N.

Configurez votre environnement d'exploitation

Les procédures décrites dans cette section utilisent les environnements suivants :

  • IDE : e 2 studio 7.8.0, e 2 studio 2020-07

  • Chaînes d'outils : compilateur CCRX v3.0.1

  • Appareils cibles : RSKRX65N-2MB

  • Débogueurs : émulateur E 2, E 2 Lite

  • Logiciel : Renesas Flash Programmer, Renesas Secure Flash Programmer.exe, Tera Term

Pour configurer votre matériel
  1. Connectez l'émulateur E 2 Lite et le port série USB à votre carte RX65N et à votre PC.

  2. Connectez la source d'alimentation au RX65N.

Configurez vos AWS ressources

  1. Pour exécuter les démos de FreeRTOS, vous devez disposer d' AWS un compte auprès d'un utilisateur IAM autorisé à accéder aux services. AWS IoT Si ce n'est pas déjà fait, suivez les étapes décrites dansConfiguration de votre AWS compte et de vos autorisations.

  2. Pour configurer les mises à jour OTA, suivez les étapes décrites dansOTAmise à jour des prérequis. En particulier, suivez les étapes décrites dansConditions requises pour les OTA mises à jour à l'aide de MQTT.

  3. Ouvrez la AWS IoT console.

  4. Dans le volet de navigation de gauche, choisissez Gérer, puis choisissez Objets pour créer un objet.

    Un objet est une représentation d'un périphérique ou d'une entité logique dans AWS IoT. Il peut s'agir d'un appareil physique ou d'un capteur (par exemple, une ampoule ou un interrupteur sur un mur). Il peut également s'agir d'une entité logique, telle qu'une instance d'une application ou d'une entité physique qui ne se connecte pas AWS IoT, mais qui est associée à des appareils qui le font (par exemple, une voiture équipée de capteurs de moteur ou d'un panneau de commande). AWS IoT fournit un registre d'objets qui vous aide à gérer vos objets.

    1. Choisissez Create, puis Create a single thing.

    2. Entrez un nom pour votre objet, puis choisissez Next.

    3. Choisissez Create certificate (Créer un certificat).

    4. Téléchargez les trois fichiers créés, puis choisissez Activer.

    5. Choisissez Attacher une stratégie.

      écran de console affichant les fichiers à télécharger
    6. Sélectionnez la politique que vous avez créée dansPolitique en matière d'appareils.

      Chaque appareil qui reçoit une mise à jour OTA à l'aide de MQTT doit être enregistré en tant qu'objet AWS IoT et doit être associé à une politique similaire à celle répertoriée. Vous trouverez plus d'informations sur les éléments dans les objets "Action" et "Resource" dans Actions de stratégie AWS IoT et Ressources d'action AWS IoT Core.

      Remarques
      • Les iot:Connect autorisations permettent à votre appareil de se connecter AWS IoT via MQTT.

      • Les autorisations iot:Publish et iot:Subscribe sur les rubriques des tâches AWS IoT (.../jobs/*) permettent au périphérique connecté de recevoir des notifications de travail et des documents de travail, et de publier l'état d'achèvement d'une exécution de travail.

      • Les iot:Publish autorisations iot:Subscribe et sur le thème des flux AWS IoT OTA (.../streams/*) permettent à l'appareil connecté de récupérer les données de mise à jour OTA à partir de AWS IoT. Ces autorisations sont requises pour effectuer des mises à jour du firmware sur MQTT.

      • Les iot:Receive autorisations permettent AWS IoT Core de publier des messages sur ces sujets sur l'appareil connecté. Cette autorisation est vérifiée à chaque remise d'un message MQTT. Vous pouvez utiliser cette autorisation pour révoquer l'accès aux clients actuellement abonnés à une rubrique.

  5. Pour créer un profil de signature de code et enregistrer un certificat de signature de code sur. AWS

    1. Pour créer les clés et la certification, consultez la section 7.3 « Génération de paires de clés ECDSA-SHA256 avec OpenSSL » dans la politique de conception de mise à jour du microprogramme des microcontrôleurs Renesas.

    2. Ouvrez la AWS IoT console. Dans le volet de navigation de gauche, sélectionnez Gérer, puis Tâches. Sélectionnez Créer une tâche, puis Créer une tâche de mise à jour OTA.

    3. Sous Sélectionner les appareils à mettre à jour, choisissez Sélectionner, puis choisissez l'élément que vous avez créé précédemment. Sélectionnez Suivant.

    4. Sur la page Créer une tâche de mise à jour FreeRTOS OTA, procédez comme suit :

      1. Pour sélectionner le protocole de transfert d'image du microprogramme, choisissez MQTT.

      2. Pour Sélectionner et signer l'image de votre microprogramme, choisissez Signer une nouvelle image du microprogramme pour moi.

      3. Pour le profil de signature de code, choisissez Create.

      4. Dans la fenêtre Créer un profil de signature de code, entrez un nom de profil. Pour la plate-forme matérielle de l'appareil, sélectionnez Windows Simulator. Pour le certificat de signature de code, choisissez Importer.

      5. Naviguez pour sélectionner le certificat (secp256r1.crt), la clé privée du certificat (secp256r1.key) et la chaîne de certificats (ca.crt).

      6. Entrez le nom de chemin du certificat de signature de code sur l'appareil. Ensuite, choisissez Créer.

  6. Pour autoriser l'accès à la signature de code pour AWS IoT, suivez les étapes décrites dansAccorder l'accès à la signature de code pour AWS IoT.

Si Tera Term n'est pas installé sur votre PC, vous pouvez le télécharger depuis https://ttssh2.osdn.jp/index.html.en et le configurer comme indiqué ici. Assurez-vous de brancher le port USB série entre votre appareil et votre PC.

Fenêtre de configuration du port série Tera Term

Importez, configurez le fichier d'en-tête et compilez aws_demos et boot_loader

Pour commencer, vous sélectionnez la dernière version du package FreeRTOS, qui sera téléchargée GitHub et importée automatiquement dans le projet. De cette façon, vous pouvez vous concentrer sur la configuration de FreeRTOS et sur l'écriture du code de l'application.

  1. Lancez le studio e 2.

  2. Choisissez Fichier, puis Importer...

  3. Sélectionnez le projet GitHub FreeRTOS (avec bibliothèques IoT) de Renesas.

    fenêtre d'importation d'e-squared studio
  4. Choisissez Rechercher une autre version... pour afficher la boîte de dialogue de téléchargement.

    fenêtre de dialogue de téléchargement d'e-squared studio
  5. Sélectionnez le dernier package.

    fenêtre de dialogue de téléchargement du module e-squared studio
  6. Choisissez Accepter pour accepter le contrat de licence de l'utilisateur final.

    boîte de dialogue EULA d'e-squared studio
  7. Attendez que le téléchargement soit terminé.

    barre de progression du téléchargement
  8. Sélectionnez les projets aws_demos et boot_loader, puis choisissez Terminer pour les importer.

    fenêtre d'importation de projets
  9. Pour les deux projets, ouvrez les propriétés du projet. Dans le volet de navigation, choisissez Tool Chain Editor.

    1. Choisissez la chaîne d'outils actuelle.

    2. Choisissez le générateur actuel.

    fenêtre des propriétés du studio e-squared
  10. Dans le panneau de navigation, sélectionnez Settings (Paramètres). Choisissez l'onglet Chaîne d'outils, puis choisissez la version de la chaîne d'outils.

    Paramètres d'intégration de la chaîne d'outils pour Renesas CCRX version v3.01.00, avec option de modification de la chaîne d'outils.

    Choisissez l'onglet Paramètres de l'outil, développez le convertisseur, puis choisissez Sortie. Dans la fenêtre principale, assurez-vous que le fichier hexadécimal de sortie est sélectionné, puis choisissez le type de fichier de sortie.

    C/C++ Build fenêtre des paramètres de configuration affichant les options du compilateur et de l'éditeur de liens telles que le fichier hexadécimal de sortie, le type de fichier de sortie, le répertoire de sortie et les options de division de fichiers.
    Arborescence des paramètres d'interface avec options pour l'analyse de la pile, l'éditeur de chaîne d'outils, le C/C++ General, le MCU, les références de projet, etc.
  11. Dans le projet Bootloader, ouvrez projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h et saisissez la clé publique. Pour plus d'informations sur la création d'une clé publique, consultez Comment implémenter FreeRTOS OTA à l'aide d'Amazon Web Services sur le RX65N et section 7.3 « Génération de paires de clés ECDSA-SHA256 avec OpenSSL » dans la politique de conception des mises à jour du microprogramme des microcontrôleurs de Renesas.

    Éditeur de code affichant un fichier d'en-tête C avec la définition de CODE_SIGNER_PUBLIC_KEY et une variable de clé publique de signature de code codée au format PEM.

    Construisez ensuite le projet à créerboot_loader.mot.

  12. Ouvrez le aws_demos projet.

    1. Ouvrez la AWS IoT console.

    2. Dans le panneau de navigation de gauche, choisissez Paramètres. Notez votre point de terminaison personnalisé dans la zone de texte Terminal de données de l'appareil.

    3. Choisissez Gérer, puis choisissez Objets. Notez le nom de l' AWS IoT objet de votre tableau.

    4. Dans le aws_demos projet, ouvrez demos/include/aws_clientcredential.h et spécifiez les valeurs suivantes.

      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint"; #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      Extrait de code indiquant le nom de l' AWS IoT objet et les paramètres de configuration du point de terminaison du courtier.
    5. Ouvrez le fichier tools/certificate_configuration/CertificateConfigurator.html.

    6. Importez le fichier PEM de certificat et le fichier PEM de clé privée que vous avez téléchargés précédemment.

    7. Choisissez Generate, enregistrez aws_clientcredential_keys.h et remplacez ce fichier dans le répertoire. demos/include/

      Outil de configuration de certificats avec des champs pour fournir des fichiers PEM de certificat client et de clé privée à partir de la AWS IoT console, et un bouton pour générer et enregistrer le fichier aws_clientcredential_keys.h.
    8. Ouvrez le vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h fichier et spécifiez ces valeurs.

      #define otapalconfigCODE_SIGNING_CERTIFICATE [] = "your-certificate-key";

      your-certificate-key est la valeur du fichier. secp256r1.crt N'oubliez pas d'ajouter « \ » après chaque ligne de la certification. Pour plus d'informations sur la création du secp256r1.crt fichier, consultez Comment implémenter FreeRTOS OTA à l'aide d'Amazon Web Services sur le RX65N et section 7.3 « Génération de paires de clés ECDSA-SHA256 avec OpenSSL » dans la politique de conception de mise à jour du microprogramme du microcontrôleur de Renesas.

      Fichier de code source montrant le code C définissant une chaîne constante de certificat de signature de code codée PEM avec des données de certificat expurgées.
  13. Tâche A : Installation de la version initiale du microprogramme

    1. Ouvrez le vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h fichier, commentez #define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED et définissez l'un CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED ou l'autreCONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED.

    2. Ouvrez le demos/include/ aws_application_version.h fichier et définissez la version initiale du microprogramme sur0.9.2.

      Extrait de code présentant les définitions de version d'une application, y compris les macros pour les numéros de version majeure, mineure et de version de version.
    3. Modifiez les paramètres suivants dans l'afficheur de sections.

      Fenêtre de visualisation des sections affichant les adresses mémoire, les noms de sections tels que SU, SI, les registres et les composants d'interface tels que les tampons réseau, les exceptions et les boutons d'action.
    4. Choisissez Build pour créer le aws_demos.mot fichier.

  14. Créez le fichier userprog.mot avec le Renesas Secure Flash Programmer. userprog.motest une combinaison de aws_demos.mot etboot_loader.mot. Vous pouvez flasher ce fichier sur le RX65N-RSK pour installer le microprogramme initial.

    1. Téléchargez https://github.com/renesas/Amazon-FreeRTOS-Tools et ouvrezRenesas Secure Flash Programmer.exe.

    2. Choisissez l'onglet Firme initiale, puis définissez les paramètres suivants :

      • Chemin de clé privée : emplacement desecp256r1.privatekey.

      • Chemin du fichier Boot Loader : emplacement de boot_loader.mot (projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug).

      • Chemin du fichier : emplacement du aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

      Fenêtre Renesas Secure Flash Programmer avec microcontrôleur, vérification du microprogramme, numéro de séquence, chemin de clé AES et champs de chemin de fichier.
    3. Créez un répertoire nommé init_firmware userprog.mot Generate et enregistrez-le init_firmware dans le répertoire. Vérifiez que la génération a réussi.

  15. Flashez le microprogramme initial sur le RX65N-RSK.

    1. Téléchargez la dernière version du programmateur Flash Renesas (interface graphique de programmation) à l'adresse https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html.

    2. Ouvrez le vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj fichier pour effacer les données de la banque.

    3. Choisissez Démarrer pour effacer la banque.

      Fenêtre de Renesas Flash Programmer affichant les détails du projet du microcontrôleur RX Group, le chemin du fichier et les options de fonctionnement du flash telles que Erase, Program et Verify à l'aide des boutons Démarrer et OK.
    4. Pour flasheruserprog.mot, choisissez Parcourir... et naviguez jusqu'au init_firmware répertoire, sélectionnez le userprog.mot fichier et choisissez Démarrer.

      Fenêtre Renesas Flash Programmer affichant les paramètres d'opération d'effacement, y compris le microcontrôleur RX Group, l'option permettant de parcourir le fichier du programme, les boutons Effacer et Démarrer, et les détails de l'état des blocs sélectionnés à effacer.
  16. La version 0.9.2 (version initiale) du microprogramme a été installée sur votre RX65N-RSK. La carte RX65N-RSK écoute actuellement les mises à jour OTA. Si vous avez ouvert Tera Term sur votre PC, vous verrez quelque chose comme ceci lorsque le microprogramme initial s'exécute.

    ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xff [LIFECYCLE_STATE_BLANK] bank 1 status = 0xfc [LIFECYCLE_STATE_INSTALLING] bank info = 1. (start bank = 0) start installing user program. copy secure boot (part1) from bank0 to bank1...OK copy secure boot (part2) from bank0 to bank1...OK update LIFECYCLE_STATE from [LIFECYCLE_STATE_INSTALLING] to [LIFECYCLE_STATE_VALID] bank1(temporary area) block0 erase (to update LIFECYCLE_STATE)...OK bank1(temporary area) block0 write (to update LIFECYCLE_STATE)...OK swap bank... ------------------------------------------------- RX65N secure boot program ------------------------------------------------- Checking flash ROM status. bank 0 status = 0xf8 [LIFECYCLE_STATE_VALID] bank 1 status = 0xff [LIFECYCLE_STATE_BLANK] bank info = 0. (start bank = 1) integrity check scheme = sig-sha256-ecdsa bank0(execute area) on code flash integrity check...OK jump to user program 0 1 [ETHER_RECEI] Deferred Interrupt Handler Task started 1 1 [ETHER_RECEI] Network buffers: 3 lowest 3 2 1 [ETHER_RECEI] Heap: current 234192 lowest 234192 3 1 [ETHER_RECEI] Queue space: lowest 8 4 1 [IP-task] InitializeNetwork returns OK 5 1 [IP-task] xNetworkInterfaceInitialise returns 0 6 101 [ETHER_RECEI] Heap: current 234592 lowest 233392 7 2102 [ETHER_RECEI] prvEMACHandlerTask: PHY LS now 1 8 3001 [IP-task] xNetworkInterfaceInitialise returns 1 9 3092 [ETHER_RECEI] Network buffers: 2 lowest 2 10 3092 [ETHER_RECEI] Queue space: lowest 7 11 3092 [ETHER_RECEI] Heap: current 233320 lowest 233320 12 3193 [ETHER_RECEI] Heap: current 233816 lowest 233120 13 3593 [IP-task] vDHCPProcess: offer c0a80a09ip 14 3597 [ETHER_RECEI] Heap: current 233200 lowest 233000 15 3597 [IP-task] vDHCPProcess: offer c0a80a09ip 16 3597 [IP-task] IP Address: 192.168.10.9 17 3597 [IP-task] Subnet Mask: 255.255.255.0 18 3597 [IP-task] Gateway Address: 192.168.10.1 19 3597 [IP-task] DNS Server Address: 192.168.10.1 20 3600 [Tmr Svc] The network is up and running 21 3622 [Tmr Svc] Write certificate... 22 3697 [ETHER_RECEI] Heap: current 232320 lowest 230904 23 4497 [ETHER_RECEI] Heap: current 226344 lowest 225944 24 5317 [iot_thread] [INFO ][DEMO][5317] ---------STARTING DEMO--------- 25 5317 [iot_thread] [INFO ][INIT][5317] SDK successfully initialized. 26 5317 [iot_thread] [INFO ][DEMO][5317] Successfully initialized the demo. Network type for the demo: 4 27 5317 [iot_thread] [INFO ][MQTT][5317] MQTT library successfully initialized. 28 5317 [iot_thread] [INFO ][DEMO][5317] OTA demo version 0.9.2 29 5317 [iot_thread] [INFO ][DEMO][5317] Connecting to broker... 30 5317 [iot_thread] [INFO ][DEMO][5317] MQTT demo client identifier is rx65n-gr-rose (length 13). 31 5325 [ETHER_RECEI] Heap: current 206944 lowest 206504 32 5325 [ETHER_RECEI] Heap: current 206440 lowest 206440 33 5325 [ETHER_RECEI] Heap: current 206240 lowest 206240 38 5334 [ETHER_RECEI] Heap: current 190288 lowest 190288 39 5334 [ETHER_RECEI] Heap: current 190088 lowest 190088 40 5361 [ETHER_RECEI] Heap: current 158512 lowest 158168 41 5363 [ETHER_RECEI] Heap: current 158032 lowest 158032 42 5364 [ETHER_RECEI] Network buffers: 1 lowest 1 43 5364 [ETHER_RECEI] Heap: current 156856 lowest 156856 44 5364 [ETHER_RECEI] Heap: current 156656 lowest 156656 46 5374 [ETHER_RECEI] Heap: current 153016 lowest 152040 47 5492 [ETHER_RECEI] Heap: current 141464 lowest 139016 48 5751 [ETHER_RECEI] Heap: current 140160 lowest 138680 49 5917 [ETHER_RECEI] Heap: current 138280 lowest 138168 59 7361 [iot_thread] [INFO ][MQTT][7361] Establishing new MQTT connection. 62 7428 [iot_thread] [INFO ][MQTT][7428] (MQTT connection 81cfc8, CONNECT operation 81d0e8) Wait complete with result SUCCESS. 63 7428 [iot_thread] [INFO ][MQTT][7428] New MQTT connection 4e8c established. 64 7430 [iot_thread] [OTA_AgentInit_internal] OTA Task is Ready. 65 7430 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [Ready] Event [Start] New state [RequestingJob] 66 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 67 7431 [OTA Agent T] [INFO ][MQTT][7431] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 68 7436 [ETHER_RECEI] Heap: current 128248 lowest 127992 69 7480 [OTA Agent T] [INFO ][MQTT][7480] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 70 7480 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/$next/get/accepted 71 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8) SUBSCRIBE operation scheduled. 72 7481 [OTA Agent T] [INFO ][MQTT][7481] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Waiting for operation completion. 73 7530 [OTA Agent T] [INFO ][MQTT][7530] (MQTT connection 81cfc8, SUBSCRIBE operation 818c48) Wait complete with result SUCCESS. 74 7530 [OTA Agent T] [prvSubscribeToJobNotificationTopics] OK: $aws/things/rx65n-gr-rose/jobs/notify-next 75 7530 [OTA Agent T] [prvRequestJob_Mqtt] Request #0 76 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8) MQTT PUBLISH operation queued. 77 7532 [OTA Agent T] [INFO ][MQTT][7532] (MQTT connection 81cfc8, PUBLISH operation 818b80) Waiting for operation completion. 78 7552 [OTA Agent T] [INFO ][MQTT][7552] (MQTT connection 81cfc8, PUBLISH operation 818b80) Wait complete with result SUCCESS. 79 7552 [OTA Agent T] [prvOTAAgentTask] Called handler. Current State [RequestingJob] Event [RequestJobDocument] New state [WaitingForJob] 80 7552 [OTA Agent T] [prvParseJSONbyModel] Extracted parameter [ clientToken: 0:rx65n-gr-rose ] 81 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: execution 82 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobId 83 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: jobDocument 84 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: afr_ota 85 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: protocols 86 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: files 87 7552 [OTA Agent T] [prvParseJSONbyModel] parameter not present: filepath 99 7651 [ETHER_RECEI] Heap: current 129720 lowest 127304 100 8430 [iot_thread] [INFO ][DEMO][8430] State: Ready Received: 1 Queued: 0 Processed: 0 Dropped: 0 101 9430 [iot_thread] [INFO ][DEMO][9430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 102 10430 [iot_thread] [INFO ][DEMO][10430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 103 11430 [iot_thread] [INFO ][DEMO][11430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 104 12430 [iot_thread] [INFO ][DEMO][12430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 105 13430 [iot_thread] [INFO ][DEMO][13430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 106 14430 [iot_thread] [INFO ][DEMO][14430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0 107 15430 [iot_thread] [INFO ][DEMO][15430] State: WaitingForJob Received: 1 Queued: 0 Processed: 0 Dropped: 0
  17. Tâche B : mettre à jour la version de votre microprogramme

    1. Ouvrez le demos/include/aws_application_version.h fichier et augmentez la valeur du APP_VERSION_BUILD jeton à0.9.3.

    2. Regénérez le projet.

  18. Créez le userprog.rsu fichier avec le Renesas Secure Flash Programmer pour mettre à jour la version de votre firmware.

    1. Ouvrez le fichier Amazon-FreeRTOS-Tools\Renesas Secure Flash Programmer.exe.

    2. Choisissez l'onglet Update Firm et définissez les paramètres suivants :

      • Chemin du fichier : emplacement du aws_demos.mot fichier (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

    3. Créez un répertoire nommé update _firmware. Générez-le userprog.rsu et enregistrez-le update_firmware dans le répertoire. Vérifiez que la génération a réussi.

      Fenêtre Renesas Secure Flash Programmer avec sélection du microcontrôleur, type de vérification du microprogramme, numéro de séquence, champ de clé AES MAC et entrée du chemin du fichier pour générer un microprogramme sécurisé.
  19. Téléchargez la mise à jour du microprogramme dans un compartiment Amazon S3userproj.rsu, comme décrit dansCréez un compartiment Amazon S3 pour stocker votre mise à jour.

    Interface de gestion des compartiments Amazon S3 avec options de dossiers, de téléchargements, de versions et d'autorisations
  20. Créez une tâche pour mettre à jour le microprogramme du RX65N-RSK.

    AWS IoT Jobs est un service qui avertit un ou plusieurs appareils connectés d'un Job en attente. Une tâche peut être utilisée pour gérer un parc d'appareils, mettre à jour le microprogramme et les certificats de sécurité des appareils, ou effectuer des tâches administratives telles que le redémarrage des appareils et l'exécution de diagnostics.

    1. Connectez-vous à la console AWS IoT. Dans le volet de navigation, choisissez Manage, puis Jobs.

    2. Choisissez Create a job, puis Create OTA Update job. Sélectionnez un élément, puis cliquez sur Suivant.

    3. Créez une tâche de mise à jour FreeRTOS OTA comme suit :

      • Choisissez MQTT.

      • Sélectionnez le profil de signature de code que vous avez créé dans la section précédente.

      • Sélectionnez l'image du microprogramme que vous avez chargée dans un compartiment Amazon S3.

      • Pour le chemin d'accès de l'image du microprogramme sur l'appareil, entreztest.

      • Choisissez le rôle IAM que vous avez créé dans la section précédente.

    4. Choisissez Suivant.

      Signalisation de l'image du microprogramme et paramètres de mise à jour OTA avec options permettant de signer le nouveau microprogramme, de sélectionner le microprogramme précédemment signé, d'utiliser un microprogramme signé personnalisé, de spécifier le profil de signature de code, le fichier image du microprogramme, le chemin sur l'appareil et le rôle IAM pour la tâche de mise à jour OTA.
    5. Entrez un identifiant, puis choisissez Créer.

  21. Rouvrez Tera Term pour vérifier que le microprogramme a été correctement mis à jour vers la version de démonstration OTA 0.9.3.

    Sortie de ligne de commande indiquant l'initialisation et la connexion d'un thread à un broker.
  22. Sur la AWS IoT console, vérifiez que le statut de la tâche est Réussi.

    Vue d'ensemble de la tâche de test AFR OTA-Demo indiquant qu'une ressource a réussi.