Erste Schritte mit dem Infineon OPTIGA Trust X und XMC4800 IoT Connectivity Kit - 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.

Erste Schritte mit dem Infineon OPTIGA Trust X und XMC4800 IoT Connectivity Kit

Dieses Tutorial enthält Anweisungen für die ersten Schritte mit dem Infineon OPTIGA Trust X Secure Element und dem XMC4800 IoT Connectivity Kit. Im Vergleich zum Erste Schritte mit dem Infineon.XMC4800 IoT Connectivity Kit Tutorial zeigt diese Anleitung, wie Sie sichere Anmeldeinformationen mit einem Infineon OPTIGA Trust X Secure Element bereitstellen können.

Sie benötigen die folgende Hardware:

  1. Host MCU - Infineon XMC4800 IoT Connectivity Kit verfügen, rufen Sie dieAWSPartner-Device Catalog, um einen von unserem zu kaufenPartner.

  2. Sicherheits-Erweiterungspaket:

    • Secure Element - Infineon OPTIGA Trust X.

      Besuchen Sie dieAWSDevice Catalog, um sie von unserem zu kaufenPartner.

    • Personalization Board - Infineon OPTIGA Personalisation Board.

    • Adapterplatine - Infineon MyIoT-Adapter.

Um die hier beschriebenen Schritte auszuführen, müssen Sie eine serielle Verbindung mit dem Board öffnen, um Protokollierungs- und Debugging-Informationen anzuzeigen. (Einer der Schritte erfordert, dass Sie einen öffentlichen Schlüssel aus der seriellen Debugging-Ausgabe vom Board kopieren und in eine Datei einfügen.) Dazu benötigen Sie zusätzlich zum XMC4800 IoT Connectivity Kit einen 3,3V USB/Serial-Konverter. Der JBtek EL-PN-47310126 USB/Serial-Konverter funktioniert bekanntlich für diese Demo. Sie benötigen auch drei männlich-zu-männlichJumper Drähte(für Empfangen (RX), Übertragung (TX) und Masse (GND))) zum Anschluss des seriellen Kabels an die MyIoT Adapterplatine von Infineon.

Bevor Sie beginnen, müssen Sie die Maßnahmen zum Konfigurieren vonAWS IoTWenn Sie und Ihren FreeRTOS -Download verwenden, um Ihr Gerät mit demAWSCloud. Detaillierte Anweisungen finden Sie unter Option 2: Integrierte Generierung eines privaten Schlüssels. In diesem Tutorial wird der Pfad zum -Downlaod-Verzeichnis als bezeichnetfreertos.

Overview

Dieses Tutorial enthält die folgenden Schritte:

  1. Installieren Sie Software zum Entwickeln und Debuggen eingebetteter Anwendungen für Ihr Mikrocontroller-Board auf dem Host-Computer.

  2. Cross-kompilieren Sie eine FreeRTOS Demoanwendung zu einem binären Image.

  3. Laden des binären Anwendungs-Image auf Ihre Platine und Ausführen der Anwendung.

  4. Interagieren Sie für Überwachungs- und Debuggingzwecke mit der Anwendung, die auf Ihrem Board über eine serielle Verbindung ausgeführt wird.

Einrichten Ihrer Entwicklungsumgebung

FreeRTOS verwendet die DAVE-Entwicklungsumgebung von Infineon, um den XMC4800 zu programmieren. Bevor Sie beginnen, laden Sie DAVE und einige J-Link-Treiber herunter und installieren Sie sie, um mit dem On-Board-Debugger zu kommunizieren.

Installieren von DAVE

  1. Rufen Sie die Seite von Infineon zum Herunterladen der DAVE-Software auf.

  2. Wählen Sie das DAVE-Paket für Ihr Betriebssystem aus und senden Sie Ihre Registrierungsinformationen. Nach der Registrierung sollten Sie eine Bestätigungs-E-Mail mit einem Link zum Herunterladen einer ZIP-Datei erhalten.

  3. Laden Sie die ZIP-Datei des DAVE-Pakets (DAVE_version_os_date.zip) herunter und entpacken Sie es im Speicherort, in dem Sie DAVE installieren möchten (z. B. C:\DAVE4).

    Anmerkung

    Einige Windows-Benutzer, die den Windows Explorer nutzen, haben Probleme beim Entpacken der Datei gemeldet. Wir empfehlen die Verwendung eines Drittanbieter-Programms, z. B. 7-Zip.

  4. Wenn Sie DAVE starten möchten, müssen Sie die ausführbare Datei ausführen, die Sie aus dem DAVE_version_os_date.zip-Ordner extrahiert haben.

Weitere Informationen finden Sie im DAVE-Schnellstartleitfaden.

Um mit dem integrierten Debugging-Sensor des XMC4800 IoT Connectivity Kits zu kommunizieren, benötigen Sie die Treiber, die im J-Link Software- und Dokumentationspaket enthalten sind. Sie können das J-Link-Software- und Dokumentationspaket von Seggers auf der Seite mit demJ-Link-Software-Download herunterladen.

Herstellen einer seriellen Verbindung

Schließen Sie das USB/Serial-Konverterkabel an den Infineon Shield2Go Adapter an. Dies ermöglicht Ihrem Board das Senden von Protokollierungs- und Debugging-Informationen in einer Form, die Sie auf Ihrem Entwicklungscomputer ansehen können. So richten Sie eine serielle Verbindung ein:

  1. Verbinden Sie den Pin mit der Bezeichnung „RX“ mit Ihrem USB-zu-Seriell-Konverter-Pin „TX“.

  2. Verbinden Sie den Pin mit der Bezeichnung „TX“ mit Ihrem USB-zu-Seriell-Konverter-Pin „RX“.

  3. Verbinden Sie den Erdungspin Ihres seriellen Konverters mit einem der GND-Pins auf Ihrem Board. Die Geräte müssen einen gemeinsamen Ground teilen.

Die Energieversorgung erfolgt über den USB-Debugging-Port. Verbinden Sie also nicht den positiven Spannungspin Ihres seriellen Adapters mit dem Board.

Anmerkung

Einige serielle Kabel verwenden ein 5 V Signalisierungslevel. Das XMC4800-Board und das Wi-Fi-Click-Modul benötigen eine Spannung von 3.3 V. Verwenden Sie nicht den IOREF-Jumper des Boards, um die Board-Signale in 5 V zu ändern.

Mit dem verbundenen Kabel können Sie eine serielle Verbindung auf einem Terminal-Emulator, wie z. B. dem GNU-Monitor, herstellen. Die Baudrate ist standardmäßig auf 115 200 mit 8 Datenbits, keiner Parität und 1 Stoppbit festgelegt.

Überwachung von MQTT-Nachrichten in der Cloud

Sie können den MQTT-Client in der AWS IoT-Konsole verwenden, um die Nachrichten zu überwachen, die Ihr Gerät an die AWS-Cloud sendet. Es ist ratsam, dies jetzt einzurichten, bevor das Gerät das Demo-Projekt ausführt.

Abonnieren des MQTT-Themas mit dem AWS IoT-MQTT-Client:

  1. Melden Sie sich an der AWS IoT-Konsole an.

  2. Wählen Sie im Navigationsbereich die Option Test aus, um den MQTT-Client zu öffnen.

  3. Geben Sie im Feld Subscription topic (Abonnementthema) die Option your-thing-name/example/topic ein und wählen Sie dann Subscribe to topic (Thema abonnieren).

Erstellen und Ausführen des -Demoprojekts

Importieren der FreeRTOS -Demo in DAVE

  1. Starten Sie DAVE.

  2. Wählen Sie in DAVE File (Datei) und dann Import (Importieren) aus. Erweitern Sie den Infineon-Ordner, wählen Sie das DAVE-Project aus und klicken Sie dann auf Next (Weiter).

  3. Wählen Sie im Fenster Import DAVE Projects (DAVE-Projekte importieren) erst die Option Select Root Directory (Stammverzeichnis auswählen), dann die Option Browse (Durchsuchen) und anschließend das XMC4800-Demoprojekt aus.

    In dem Verzeichnis, in das Sie Ihren FreeRTOS -Download extrahiert haben, befindet sich das Demoprojekt inprojects/infineon/xmc4800_plus_optiga_trust_x/dave4/aws_demos/dave4.

    Stellen Sie sicher, dass Copy Projects Into Workspace (Projekte in Arbeitsbereich kopieren) deaktiviert ist.

  4. Klicken Sie auf Finish.

    Das aws_demos-Projekt sollte in Ihren WorkSpace importiert und aktiviert werden.

  5. Wählen Sie im Menü Project (Projekt) die Option Build Active Project (Aktive Projekte erstellen) aus.

    Stellen Sie sicher, dass das Projekt ohne Fehler erstellt wird.

Ausführen des FreeRTOS -Demoprojekts

  1. Wählen Sie im Menü Project (Projekt) die Option Rebuild Active Project (Aktive Projekte neu erstellen) aus, um aws_demos neu zu erstellen, und stellen Sie sicher, dass Ihre Konfigurationsänderungen ausgewählt wurden.

  2. Klicken Sie im Projekt-Explorer mit der rechten Maustaste auf aws_demos und wählen Sie die Option Debug As (Debuggen als) und dann DAVE C/C++ Application (DAVE C/C++-Anwendung) aus.

  3. Doppelklicken Sie auf GDB SEGGER J-Link Debugging (GDB-SEGGER-J-Link-Debugging) zum Erstellen einer Debug-Bestätigung. Wählen Sie Debug (Debuggen) aus.

  4. Wenn der Debugger am Haltepunkt in main() anhält, wählen Sie im Menü Run (Ausführen) die Funktion Fortsetzen aus.

Fahren Sie an dieser Stelle mit dem in Option 2: Integrierte Generierung eines privaten Schlüssels angegebenen Schritt zur Extraktion des öffentlichen Schlüssels fort. Nachdem alle Schritte abgeschlossen sind, gehen Sie zur AWS IoT-Konsole. Der zuvor eingerichtete MQTT-Client sollte die von Ihrem Gerät gesendeten MQTT-Nachrichten anzeigen. Sie sollten über die serielle Verbindung des Geräts in etwa Folgendes auf der UART-Ausgabe sehen:

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

So erstellen Sie die FreeRTOS -Demo mit CMake:

Dieser Abschnitt behandelt die Verwendung von CMake unter Windows mit MingW als natives Build-System. Weitere Informationen zur Verwendung von CMake mit anderen Betriebssystemen und Optionen finden Sie unter CMake mit FreeRTOS verwenden. (MinGW ist eine minimalistische Entwicklungsumgebung für native Microsoft Windows-Anwendungen.)

Wenn Sie es vorziehen, keine IDE für die FreeRTOS -Entwicklung zu verwenden, können Sie CMake verwenden, um die Demo-Anwendungen oder Anwendungen, die Sie mit Code-Editoren von Drittanbietern und Debugging-Tools entwickelt haben, zu erstellen und auszuführen.

So erstellen Sie die FreeRTOS -Demo mit CMake:

  1. Richten Sie die GNU Arm Embedded-Toolchain ein.

    1. Laden Sie eine Windows-Version der Toolchain von der Arm Embedded Toolchain Downloadseite herunter.

      Anmerkung

      Wir empfehlen Ihnen, eine andere Version als „8-2018-q4-major“ herunterzuladen, da ein Fehler gemeldet wurde.

    2. Öffnen Sie das heruntergeladene Toolchain-Installationsprogramm und folgen Sie den Anweisungen im Assistenten.

    3. Wählen Sie auf der letzten Seite des Installationsassistenten Add path to environment variable, um den Toolchain-Pfad zur Umgebungsvariablen des Systempfads hinzuzufügen.

  2. Installieren Sie CMake und MingW.

    Anweisungen finden Sie unter CMake-Voraussetzungen.

  3. Erstellen Sie einen Ordner für die generierten Build-Dateien (build-folder).

  4. Wechseln Sie zu Ihrem FreeRTOS Download-Verzeichnis (freertosVerwenden Sie den folgenden Befehl, um die Build-Dateien zu generieren:

    cmake -DVENDOR=infineon -DBOARD=xmc4800_plus_optiga_trust_x -DCOMPILER=arm-gcc -S . -B build-folder -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
  5. Ändern Sie die Verzeichnisse in das Build-Verzeichnis (build-folder) und verwenden Sie den folgenden Befehl, um die Binärdatei zu erstellen:

    cmake --build . --parallel 8

    Dieser Befehl erstellt die aws_demos.hex-Ausgabebinärdatei in das Build-Verzeichnis.

  6. Flashen und Sie das Image mit JLINK und führen Sie es aus.

    1. Verwenden Sie die folgenden Befehle aus dem Build-Verzeichnis (build-folder), um ein Flash-Skript zu erstellen:

      echo loadfile aws_demos.hex > flash.jlink echo r >> flash.jlink echo g >> flash.jlink echo q >> flash.jlink
    2. Flashen Sie das Image mit der ausführbaren Datei JLNIK.

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

      Die Anwendungsprotokolle sollten über die serielle Verbindung sichtbar sein, die Sie mit dem Board hergestellt haben. Fahren Sie mit dem Extraktionsschritt für öffentliche Schlüssel in Option 2: Integrierte Generierung eines privaten Schlüssels fort. Nachdem alle Schritte abgeschlossen wurden, gehen Sie zur AWS IoT-Konsole. Der zuvor eingerichtete MQTT-Client sollte die von Ihrem Gerät gesendeten MQTT-Nachrichten anzeigen.

Troubleshooting

Informationen zur Problembehebung finden Sie unter Fehlerbehebung – Erste Schritte.