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

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 Amazon-FreeRTOS-Repository gehostet, das veraltet ist. Wir empfehlen, dass Sie hier beginnen, wenn Sie ein neues Projekt erstellen. Wenn Sie bereits ein vorhandenes FreeRTOS-Projekt haben, das auf dem inzwischen veralteten Amazon-FreeRTOS-Repository basiert, finden Sie weitere Informationen unter. Leitfaden zur Migration des Amazon-FreerTOS Github-Repositorys

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 Programmer.exe, Tera Term

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 Ressourcen ein AWS

  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. AWS Richten Sie Ihr Konto und Ihre Berechtigungen ein

  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 Repräsentation eines Geräts oder einer logischen Entität 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 handeln, z. B. eine Instanz einer Anwendung oder eine physische Entität 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 Renesas MCU Firmware Update Design Policy.

    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 Ein neues Firmware-Image für mich signieren.

      3. Wählen Sie unter Code Signing-Profil die Option Create 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 des Zugriffs auf Code Signing for AWS IoT

Wenn Tera Term nicht auf Ihrem PC installiert ist, können Sie es von https://ttssh2.osdn.jp/index.html.en herunterladen und wie hier gezeigt 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

Zu Beginn 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 „Datei“ und anschließend „Importieren...“.

  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 aufzurufen.

    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 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.

    Das Fenster mit den C/C++-Build-Konfigurationseinstellungen zeigt Compiler- und Linker-Optionen wie Ausgabe-Hex-Datei, Ausgabedateityp, Ausgabeverzeichnis und Optionen zur Dateiaufteilung.
    Baum mit Schnittstelleneinstellungen mit Optionen für Stack Analysis, Tool Chain Editor, C/C++ General, 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 der Designrichtlinie für MCU Firmware-Updates von Renesas.

    Der Code-Editor zeigt eine C-Header-Datei mit der Definition für CODE_SIGNER_PUBLIC_KEY und eine PEM-kodierte Public-Key-Variable für den Codesigner.

    Erstellen boot_loader.mot Sie dann das zu erstellende Projekt.

  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 anschließend „Dinge“. Notieren Sie sich den Namen AWS IoT des Dings auf Ihrem 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";

      Wobei your-certificate-key der Wert aus der Datei ist. secp256r1.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 PEM-kodiertes Codesigner-Zertifikat mit geschwärzten 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 den RX65N-RSK flashen, um die erste Firmware zu installieren.

    1. Laden Sie https://github.com/renesas/Amazon-FreeRTOS-Tools herunter und öffnen Sie esRenesas 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 https://www.renesas.com/tw/en/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html herunter.

    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, Dateipfad und Flash-Operationsoptionen wie Löschen, Programmieren und Überprüfen des Mikrocontrollers von RX Group 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 RX65N-RSK installiert. 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-Bucket, um Ihr Update zu speichern.

    Amazon S3 S3-Bucket-Verwaltungsoberfläche mit Ordnern, Uploads, Versionen und Berechtigungsoptionen
  20. Erstellen Sie einen Job zur Aktualisierung 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 an 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 zu überprüfen, ob 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.

    Übersicht über den AFR OTA-Demo-Testauftrag, aus der hervorgeht, dass 1 Ressource erfolgreich war.