View a markdown version of this page

Laden Sie die FreeRTOS OTA-Demo auf dem Renesas RX65N herunter, erstellen Sie sie, flashen Sie sie und führen Sie sie aus - FreeRTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Laden Sie die FreeRTOS OTA-Demo auf dem Renesas RX65N herunter, erstellen Sie sie, flashen Sie sie und führen Sie sie aus

Wichtig

Diese Referenzintegration wird im Repository gehostet, das veraltet ist. Amazon-FreeRTOS Wir empfehlen, dass Sie hier beginnen, wenn Sie ein neues Projekt erstellen. Wenn Sie bereits ein bestehendes FreeRTOS-Projekt haben, das auf dem inzwischen veralteten Amazon-FreeRTOS Repository basiert, finden Sie weitere Informationen unter. Amazon-FreeRTOS Leitfaden zur Migration zum Github-Repository

In diesem Kapitel erfahren Sie, wie Sie die FreeRTOS OTA-Demoanwendungen auf dem Renesas RX65N herunterladen, erstellen, flashen und ausführen.

Richten Sie Ihre Betriebsumgebung ein

Die Verfahren in diesem Abschnitt verwenden die folgenden Umgebungen:

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

  • Toolchains: CCRX-Compiler v3.0.1

  • Zielgeräte: RSKRX65N-2MB

  • Debugger: E 2, E 2 Lite-Emulator

  • Software: Renesas Flash-Programmierer, Renesas Secure Flash, Tera Term Programmer.exe

Um Ihre Hardware einzurichten
  1. Connect den E 2 Lite-Emulator und die serielle USB-Schnittstelle mit Ihrer RX65N-Karte und Ihrem PC.

  2. Connect die Stromquelle an den RX65N an.

Richten Sie Ihre ein AWS Ressourcen

  1. Um die FreeRTOS-Demos ausführen zu können, benötigen Sie ein AWS Konto mit einem IAM-Benutzer, der berechtigt ist, auf Dienste zuzugreifen. AWS IoT Falls Sie dies noch nicht getan haben, folgen Sie den Schritten unter. Einrichtung Ihres AWS Konto und Berechtigungen

  2. Folgen Sie den Schritten unter, um OTA-Updates einzurichtenVoraussetzungen für OTA-Updates. Folgen Sie insbesondere den Schritten unterVoraussetzungen für OTA-Updates mit MQTT.

  3. Öffnen Sie die AWS IoT -Konsole.

  4. Wählen Sie im linken Navigationsbereich Verwalten und dann Dinge aus, um ein Ding zu erstellen.

    Ein Ding ist eine Darstellung eines Geräts oder einer logischen Einheit in AWS IoT. Es kann ein physisches Gerät oder ein Sensor sein (beispielsweise eine Glühbirne oder ein Wandschalter). Es kann sich auch um eine logische Einheit wie eine Instanz einer Anwendung oder eine physische Entität handeln AWS IoT, die keine Verbindung zu Geräten herstellt, die dies tun (z. B. ein Auto mit Motorsensoren oder einem Bedienfeld). AWS IoT bietet ein Verzeichnis für Dinge, mit dem Sie Ihre Dinge verwalten können.

    1. Wähle „Erstellen“ und dann „Ein einzelnes Ding erstellen“.

    2. Gib einen Namen für dein Ding ein und wähle dann Weiter.

    3. Wählen Sie Create certificate (Zertifikat erstellen).

    4. Laden Sie die drei erstellten Dateien herunter und wählen Sie dann Aktivieren.

    5. Wählen Sie Attach a policy (Richtlinie anfügen) aus.

      Konsolenbildschirm mit den herunterzuladenden Dateien
    6. Wählen Sie die Richtlinie aus, in der Sie sie erstellt habenGeräterichtlinie.

      Jedes Gerät, das mithilfe von MQTT ein OTA-Update erhält, muss als Ding in registriert sein AWS IoT und dem Ding muss eine Richtlinie wie die aufgelistete angehängt sein. Weitere Informationen zu den Elementen finden Sie unter den "Action"- und "Resource"-Objekten der AWS IoT Core-Richtlinienaktionen und AWS IoT Core-Aktionsressourcen.

      Hinweise
      • Die iot:Connect Berechtigungen ermöglichen es Ihrem Gerät, eine Verbindung AWS IoT über MQTT herzustellen.

      • Die iot:Subscribe- und iot:Publish-Berechtigungen für die Themen von AWS IoT -Aufgaben (.../jobs/*) ermöglichen es dem verbundenen Gerät, Auftragsbenachrichtigungen und Auftragsdokumente zu empfangen und den Abschlussstatus einer Auftragsausführung zu veröffentlichen.

      • Die iot:Subscribe und iot:Publish Berechtigungen zu den Themen AWS IoT OTA-Streams (.../streams/*) ermöglichen es dem verbundenen Gerät, OTA-Aktualisierungsdaten von abzurufen. AWS IoT Diese Berechtigungen sind zum Ausführen von Firmware-Updates über MQTT erforderlich.

      • Die iot:Receive Berechtigungen ermöglichen es AWS IoT Core , Nachrichten zu diesen Themen auf dem angeschlossenen Gerät zu veröffentlichen. Diese Berechtigung wird bei jeder Zustellung einer MQTT-Nachricht überprüft. Sie können diese Berechtigung verwenden, um den Zugriff auf Clients zu widerrufen, die derzeit ein Thema abonniert haben.

  5. Um ein Codesignaturprofil zu erstellen und ein Codesignaturzertifikat zu registrieren. AWS

    1. Informationen zum Erstellen der Schlüssel und der Zertifizierung finden Sie in Abschnitt 7.3 „Generieren von ECDSA-SHA256 Schlüsselpaaren mit OpenSSL“ in der Designrichtlinie für das MCU Firmware Update von Renesas.

    2. Öffnen Sie die AWS IoT -Konsole. Wählen Sie im linken Navigationsbereich Verwalten und dann Jobs aus. Wählen Sie Job erstellen und dann OTA-Aktualisierungsjob erstellen aus.

    3. Wählen Sie unter Zu aktualisierende Geräte auswählen die Option Auswählen und dann das Objekt aus, das Sie zuvor erstellt haben. Klicken Sie auf Weiter.

    4. Gehen Sie auf der Seite Create a FreeRTOS OTA update job wie folgt vor:

      1. Wählen Sie für Wählen Sie das Protokoll für die Firmware-Imageübertragung die Option MQTT aus.

      2. Wählen Sie für Wählen Sie Ihr Firmware-Image aus und signieren Sie die Option Neues Firmware-Image für mich signieren.

      3. Wählen Sie unter Code Signing-Profil die Option Erstellen aus.

      4. Geben Sie im Fenster Codesignaturprofil erstellen einen Profilnamen ein. Wählen Sie für die Gerätehardwareplattform Windows Simulator aus. Wählen Sie für das Codesignaturzertifikat Import aus.

      5. Suchen Sie nach dem Zertifikat (secp256r1.crt), dem privaten Schlüssel des Zertifikats (secp256r1.key) und der Zertifikatskette (ca.crt).

      6. Geben Sie einen Pfadnamen des Codesignaturzertifikats auf dem Gerät ein. Wählen Sie die Option Erstellen aus.

  6. Gehen Sie wie unter beschrieben vor AWS IoT, um Zugriff auf das Codesigning für zu gewähren. Gewähren Sie Zugriff auf die Codesignatur für AWS IoT

Wenn Tera Term nicht auf Ihrem PC installiert ist, können Sie es wie hier gezeigt herunterladen https://ttssh2.osdn.jp/index.html.enund einrichten. Stellen Sie sicher, dass Sie den seriellen USB-Anschluss Ihres Geräts an Ihren PC anschließen.

Einrichtungsfenster für die serielle Schnittstelle von Tera Term

Importieren, konfigurieren Sie die Header-Datei und erstellen Sie aws_demos und boot_loader

Zunächst wählen Sie die neueste Version des FreeRTOS-Pakets aus. Diese wird automatisch aus dem Projekt heruntergeladen GitHub und in das Projekt importiert. Auf diese Weise können Sie sich auf die Konfiguration von FreeRTOS und das Schreiben von Anwendungscode konzentrieren.

  1. Starten Sie e 2 Studio.

  2. Wählen Sie in Datei und dann Importieren aus.

  3. Wählen Sie das Renesas GitHub FreeRTOS (mit IoT-Bibliotheken) -Projekt aus.

    e-squared Studio-Importfenster
  4. Wählen Sie Nach weiterer Version suchen..., um das Download-Dialogfeld anzuzeigen.

    e-squared Studio Download-Dialogfenster
  5. Wählen Sie das neueste Paket aus.

    Dialogfenster zum Herunterladen des E-squared Studio-Moduls
  6. Wählen Sie Zustimmen, um die Endbenutzer-Lizenzvereinbarung zu akzeptieren.

    EULA-Dialog von e-squared Studio
  7. Warten Sie, bis der Download abgeschlossen ist.

    Fortschrittsbalken herunterladen
  8. Wählen Sie die Projekte aws_demos und boot_loader aus und klicken Sie dann auf Fertig stellen, um sie zu importieren.

    Fenster „Projekte importieren“
  9. Öffnen Sie für beide Projekte die Projekteigenschaften. Wählen Sie im Navigationsbereich Tool Chain Editor aus.

    1. Wählen Sie die Aktuelle Toolchain aus.

    2. Wählen Sie den aktuellen Builder.

    Eigenschaftenfenster von e-squared Studio
  10. Wählen Sie im Navigationsbereich Settings (Einstellungen). Wählen Sie die Registerkarte Toolchain und dann die Toolketten-Version aus.

    Einstellungen für die Toolchainintegration für Renesas CCRX Version v3.01.00, mit der Option, die Toolchain zu ändern.

    Wählen Sie die Registerkarte Werkzeugeinstellungen, erweitern Sie den Konverter und wählen Sie dann Ausgabe. Vergewissern Sie sich, dass im Hauptfenster die Option Hex-Datei ausgeben ausgewählt ist, und wählen Sie dann den Ausgabedateityp.

    C/C++ Erstellen Sie ein Fenster mit den Konfigurationseinstellungen, das Compiler- und Linker-Optionen wie Ausgabe-Hex-Datei, Ausgabedateityp, Ausgabeverzeichnis und Optionen zur Dateiteilung anzeigt.
    Baum mit Schnittstelleneinstellungen mit Optionen für Stack Analysis, Tool Chain Editor, C/C ++ Allgemein, MCU, Projektreferenzen usw.
  11. Öffnen Sie im Bootloader-Projekt den öffentlichen Schlüssel projects\renesas\rx65n-rsk\e2studio\boot_loader\src\key\code_signer_public_key.h und geben Sie ihn ein. Informationen zum Erstellen eines öffentlichen Schlüssels finden Sie unter So implementieren Sie FreeRTOS OTA mithilfe von Amazon Web Services auf RX65N und in Abschnitt 7.3 „Generieren von ECDSA-SHA256 Schlüsselpaaren mit OpenSSL“ in Renesas MCU Firmware Update Design Policy.

    Der Code-Editor zeigt eine C-Header-Datei mit der Definition für CODE_SIGNER_PUBLIC_KEY und eine öffentliche Schlüsselvariable für den Codesigner. PEM-encoded

    Erstellen Sie dann das zu erstellende Projekt. boot_loader.mot

  12. Öffnen Sie das aws_demos Projekt.

    1. Öffnen Sie die AWS IoT -Konsole.

    2. Wählen Sie im linken Navigationsbereich die Option Einstellungen aus. Notieren Sie sich Ihren benutzerdefinierten Endpunkt im Textfeld Gerätedatenendpunkt.

    3. Wählen Sie Verwalten und dann Dinge aus. Notiere dir den Namen der AWS IoT Sache auf deinem Board.

    4. Öffnen Sie das aws_demos Projekt demos/include/aws_clientcredential.h und geben Sie die folgenden Werte an.

      #define clientcredentialMQTT_BROKER_ENDPOINT[] = "Your AWS IoT endpoint"; #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"
      Codeausschnitt mit dem Namen des Dings und AWS IoT den Konfigurationseinstellungen für den Broker-Endpunkt.
    5. Öffnen Sie die tools/certificate_configuration/CertificateConfigurator.html Datei.

    6. Importieren Sie die Zertifikats-PEM-Datei und die PEM-Datei mit dem privaten Schlüssel, die Sie zuvor heruntergeladen haben.

    7. Wählen Sie Generate and save aws_clientcredentials al_keys.h und ersetzen Sie diese Datei im Verzeichnis. demos/include/

      Zertifikatkonfigurationstool mit Feldern für die Bereitstellung von Client-Zertifikaten und PEM-Dateien mit privaten Schlüsseln von der AWS IoT Konsole aus sowie einer Schaltfläche zum Generieren und Speichern der Datei aws_clientcredentials al_keys.h.
    8. Öffnen Sie die Datei und geben Sie diese Werte an. vendors/renesas/boards/rx65n-rsk/aws_demos/config_files/ota_demo_config.h

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

      Wo your-certificate-key ist der Wert aus der Dateisecp256r1.crt. Denken Sie daran, nach jeder Zeile der Zertifizierung „\“ hinzuzufügen. Weitere Informationen zur Erstellung der secp256r1.crt Datei finden Sie unter So implementieren Sie FreeRTOS OTA mithilfe von Amazon Web Services auf RX65N und in Abschnitt 7.3 „Generieren von ECDSA-SHA256 Schlüsselpaaren mit OpenSSL“ in der Designrichtlinie für MCU Firmware-Updates von Renesas.

      Quellcodedatei mit C-Code, der eine konstante Zeichenfolge für ein Codesignerzertifikat mit geschwärzten PEM-encoded Zertifikatsdaten definiert.
  13. Aufgabe A: Installieren Sie die erste Version der Firmware

    1. Öffnen Sie die vendors/renesas/boards/board/aws_demos/config_files/aws_demo_config.h Datei, kommentieren Sie sie #define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED und definieren Sie entweder CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED oderCONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED.

    2. Öffnen Sie die demos/include/ aws_application_version.h Datei und stellen Sie die ursprüngliche Version der Firmware auf ein0.9.2.

      Codeausschnitt mit Versionsdefinitionen für eine Anwendung, einschließlich Makros für Haupt-, Neben- und Build-Versionsnummern.
    3. Ändern Sie die folgenden Einstellungen im Section Viewer.

      Das Section Viewer-Fenster mit Speicheradressen, Abschnittsnamen wie SU, SI, Registern und Schnittstellenkomponenten wie Netzwerkpuffern, Ausnahmen und Aktionsschaltflächen.
    4. Wählen Sie Build, um die aws_demos.mot Datei zu erstellen.

  14. Erstellen Sie die Datei userprog.mot mit dem Renesas Secure Flash Programmer. userprog.motist eine Kombination aus und. aws_demos.mot boot_loader.mot Sie können diese Datei auf die flashen RX65N-RSK , um die erste Firmware zu installieren.

    1. Downloaden https://github.com/renesas/Amazon-FreeRTOS-Toolsund öffnenRenesas Secure Flash Programmer.exe.

    2. Wählen Sie die Registerkarte Initial Firm und legen Sie dann die folgenden Parameter fest:

      • Pfad des privaten Schlüssels — Der Speicherort vonsecp256r1.privatekey.

      • Bootloader-Dateipfad — Der Speicherort von boot_loader.mot (projects\renesas\rx65n-rsk\e2studio\boot_loader\HardwareDebug).

      • Dateipfad — Der Speicherort von aws_demos.mot (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

      Renesas Secure Flash Programmer-Fenster mit Feldern für MCU, Firmware-Verifizierung, Sequenznummer, AES-Schlüsselpfad und Dateipfad.
    3. Erstellen Sie ein Verzeichnis mit dem Namen init_firmware Generate userprog.mot und speichern Sie es im Verzeichnis. init_firmware Stellen Sie sicher, dass die Generierung erfolgreich war.

  15. Flashen Sie die erste Firmware auf dem RX65N-RSK.

    1. Laden Sie die neueste Version des Renesas Flash Programmer (Programming GUI) von herunter. https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html

    2. Öffnen Sie die vendors\renesas\rx_mcu_boards\boards\rx65n-rsk\aws_demos\flash_project\erase_from_bank\ erase.rpj Datei, um Daten auf der Bank zu löschen.

    3. Wählen Sie Start, um die Bank zu löschen.

      Renesas Flash Programmer-Fenster mit Projektdetails des RX Group-Mikrocontrollers, Dateipfad und Flash-Operationsoptionen wie Löschen, Programmieren und Überprüfen mit den Tasten Start und OK.
    4. Um zu flashen, wählen Sie Durchsuchen... userprog.mot und navigieren Sie zum init_firmware Verzeichnis, wählen Sie die userprog.mot Datei aus und wählen Sie Start.

      Das Renesas Flash Programmer-Fenster mit den Einstellungen für den Löschvorgang, einschließlich der Mikrocontroller-RX-Gruppe, der Option zum Durchsuchen der Programmdatei, den Tasten Löschen und Starten sowie Statusdetails zu den ausgewählten Blöcken, die gelöscht werden sollen.
  16. Version 0.9.2 (erste Version) der Firmware wurde auf Ihrem installiert. RX65N-RSK Das RX65N-RSK Board wartet jetzt auf OTA-Updates. Wenn Sie Tera Term auf Ihrem PC geöffnet haben, sehen Sie bei der Ausführung der ersten Firmware etwa Folgendes.

    ------------------------------------------------- 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. Aufgabe B: Aktualisieren Sie die Version Ihrer Firmware

    1. Öffnen Sie die demos/include/aws_application_version.h Datei und erhöhen Sie den APP_VERSION_BUILD Token-Wert auf0.9.3.

    2. Erstellen Sie das Projekt neu.

  18. Erstellen Sie die userprog.rsu Datei mit dem Renesas Secure Flash Programmer, um die Version Ihrer Firmware zu aktualisieren.

    1. Öffnen Sie die Amazon-FreeRTOS-Tools\Renesas Secure Flash Programmer.exe Datei.

    2. Wählen Sie die Registerkarte Update Firm und legen Sie die folgenden Parameter fest:

      • Dateipfad — Der Speicherort der aws_demos.mot Datei (projects\renesas\rx65n-rsk\e2studio\aws_demos\HardwareDebug).

    3. Erstellen Sie ein Verzeichnis mit dem Namen update _firmware. Generieren userprog.rsu und speichern Sie sie im update_firmware Verzeichnis. Stellen Sie sicher, dass die Generierung erfolgreich war.

      Renesas Secure Flash Programmer-Fenster mit MCU-Auswahl, Firmware-Verifizierungstyp, Sequenznummer, AES-MAC-Schlüsselfeld und Dateipfadeingabe zur Generierung sicherer Firmware.
  19. Laden Sie das Firmware-Update,userproj.rsu, in einen Amazon S3 S3-Bucket hoch, wie unter beschriebenErstellen Sie einen Amazon S3 S3-Bucket, um Ihr Update zu speichern.

    Amazon S3 S3-Bucket-Verwaltungsoberfläche mit Ordnern, Uploads, Versionen und Berechtigungsoptionen
  20. Erstellen Sie einen Job zum Aktualisieren der Firmware auf dem RX65N-RSK.

    AWS IoT Jobs ist ein Dienst, der ein oder mehrere verbundene Geräte über einen ausstehenden Job informiert. Ein Job kann verwendet werden, um eine Flotte von Geräten zu verwalten, Firmware und Sicherheitszertifikate auf Geräten zu aktualisieren oder administrative Aufgaben wie das Neustarten von Geräten und das Durchführen von Diagnosen durchzuführen.

    1. Melden Sie sich bei der AWS IoT -Konsole an. Wählen Sie im Navigationsbereich „Verwalten“ und anschließend „Jobs“ aus.

    2. Wählen Sie Job erstellen und dann OTA-Aktualisierungsjob erstellen aus. Wählen Sie eine Sache aus und wählen Sie dann Weiter.

    3. Erstellen Sie einen FreeRTOS OTA-Aktualisierungsjob wie folgt:

      • Wählen Sie MQTT.

      • Wählen Sie das Codesignaturprofil aus, das Sie im vorherigen Abschnitt erstellt haben.

      • Wählen Sie das Firmware-Image aus, das Sie in einen Amazon S3 S3-Bucket hochgeladen haben.

      • Geben Sie als Pfadname des Firmware-Images auf dem Gerät eintest.

      • Wählen Sie die IAM-Rolle aus, die Sie im vorherigen Abschnitt erstellt haben.

    4. Wählen Sie Weiter aus.

      Einstellungen für das Signieren von Firmware-Images und das OTA-Update mit Optionen zum Signieren neuer Firmware, zum Auswählen bereits signierter Firmware, zum Verwenden von benutzerdefinierter signierter Firmware, zum Angeben des Codesignaturprofils, der Firmware-Image-Datei, des Pfads auf dem Gerät und der IAM-Rolle für den OTA-Aktualisierungsjob.
    5. Geben Sie eine ID ein und wählen Sie dann Create.

  21. Öffnen Sie Tera Term erneut, um sicherzustellen, dass die Firmware erfolgreich auf die OTA-Demoversion 0.9.3 aktualisiert wurde.

    Befehlszeilenausgabe, die die Initialisierung und Verbindung eines Threads mit einem Broker zeigt.
  22. Stellen Sie auf der AWS IoT Konsole sicher, dass der Auftragsstatus Erfolgreich lautet.

    Die Übersicht über den OTA-demo AFR-Testauftrag zeigt, dass 1 Ressource erfolgreich war.