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
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 über ein bestehendes FreeRTOS-Projekt verfügen, das auf dem inzwischen veralteten Amazon-FreeRTOS-Repository basiert, lesen Sie dieLeitfaden zur Migration des kostenlosen RTOS Github-Repositorys von Amazon.
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 XMC48 00 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:
-
Host-MCU — Infineon XMC4800 IoT Connectivity Kit. Besuchen Sie denAWS Partner-Gerätekatalog, um eines von unserem Partner
zu erwerben. -
Sicherheits-Erweiterungspaket:
-
Secure Element - Infineon OPTIGA Trust X.
Besuchen Sie denAWS Partnergerätekatalog, um sie bei unserem Partner
zu erwerben. -
Personalization Board - Infineon OPTIGA Personalisation Board.
-
Adapterplatine - Infineon MyIo T 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 von der Platine kopieren und in eine Datei einfügen.) Dazu benötigen Sie zusätzlich zum XMC4800 IoT Connectivity Kit einen 3,3-V-USB/seriellen Konverter. Der JBtek EL-PN-47310126
Bevor Sie beginnen, müssen Sie FreeRTOS konfigurierenAWS IoT und herunterladen, um Ihr Gerät mit derAWS Cloud zu verbinden. Detaillierte Anweisungen finden Sie unter Option 2: Integrierte Generierung eines privaten Schlüssels. In diesem Tutorial wird der Pfad zum FreeRTOS-Download-Verzeichnis als bezeichnet
.freertos
Übersicht
Dieses Tutorial enthält die folgenden Schritte:
-
Installieren Sie Software zum Entwickeln und Debuggen eingebetteter Anwendungen für Ihr Mikrocontroller-Board auf dem Host-Computer.
-
Kreuzkompilieren Sie eine FreeRTOS-Demo-Anwendung zu einem Binärbild.
-
Laden des binären Anwendungs-Image auf Ihre Platine und Ausführen der Anwendung.
-
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
-
Rufen Sie die Seite von Infineon zum Herunterladen der DAVE-Software
auf. -
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.
-
Laden Sie die ZIP-Datei des DAVE-Pakets (
DAVE_
) herunter und entpacken Sie es im Speicherort, in dem Sie DAVE installieren möchten (z. B.version
_os
_date
.zipC:\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.
-
Wenn Sie DAVE starten möchten, müssen Sie die ausführbare Datei ausführen, die Sie aus dem
DAVE_
-Ordner extrahiert haben.version
_os
_date
.zip
Weitere Informationen finden Sie im DAVE-Schnellstartleitfaden
Installieren von Segger-J-Link-Treibern
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
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:
-
Verbinden Sie den Pin mit der Bezeichnung „RX“ mit Ihrem USB-zu-Seriell-Konverter-Pin „TX“.
-
Verbinden Sie den Pin mit der Bezeichnung „TX“ mit Ihrem USB-zu-Seriell-Konverter-Pin „RX“.
-
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
Überwachung von MQTT-Nachrichten in der Cloud
Bevor Sie das FreeRTOS-Demo-Projekt ausführen, können Sie den MQTT-Client in derAWS IoT Konsole einrichten, um die Nachrichten zu überwachen, die Ihr Gerät an dieAWS Cloud sendet.
Abonnieren des MQTT-Themas mit dem AWS IoT-MQTT-Client:
-
Melden Sie sich an der AWS IoT-Konsole
an. -
Wählen Sie im Navigationsbereich Test und dann MQTT-Testclient, um den MQTT-Client zu öffnen.
-
Geben Sie im Feld Subscription topic (Abonnementthema) die Option
ein und wählen Sie dann Subscribe to topic (Thema abonnieren).your-thing-name
/example/topic
Wenn das Demo-Projekt erfolgreich auf Ihrem Gerät läuft, sehen Sie „Hello World!“ mehrfach zu dem Thema gesendet, das Sie abonniert haben.
Erstellen und starten Sie das FreeRTOS-Demo-Projekt
Importiere die FreeRTOS-Demo in DAVE
-
Starten Sie DAVE.
-
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).
-
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 dem Sie Ihren FreeRTOS-Download entpackt haben, befindet sich das Demo-Projekt
projects/infineon/xmc4800_plus_optiga_trust_x/dave4/aws_demos/dave4
.Stellen Sie sicher, dass Copy Projects Into Workspace (Projekte in Arbeitsbereich kopieren) deaktiviert ist.
-
Wählen Sie Finish (Abschließen).
Das
aws_demos
-Projekt sollte in Ihren WorkSpace importiert und aktiviert werden. -
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.
Führen Sie das FreeRTOS-Demo-Projekt aus
-
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. -
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. -
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.
-
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----
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
Wenn Sie keine IDE für die FreeRTOS-Entwicklung verwenden möchten, können Sie CMake verwenden, um die Demoanwendungen oder Anwendungen, die Sie entwickelt haben, mithilfe von Code-Editoren und Debugging-Tools von Drittanbietern zu erstellen und auszuführen.
Um die FreeRTOS-Demo mit CMake zu erstellen
-
Richten Sie die GNU Arm Embedded-Toolchain ein.
-
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. -
Öffnen Sie das heruntergeladene Toolchain-Installationsprogramm und folgen Sie den Anweisungen im Assistenten.
-
Wählen Sie auf der letzten Seite des Installationsassistenten Add path to environment variable, um den Toolchain-Pfad zur Umgebungsvariablen des Systempfads hinzuzufügen.
-
-
Installieren Sie CMake und MingW.
Anweisungen finden Sie unter CMake-Voraussetzungen.
-
Erstellen Sie einen Ordner für die generierten Build-Dateien (
build-folder
). -
Ändern Sie die Verzeichnisse in Ihr FreeRTOS-Download-Verzeichnis (
) und verwenden Sie den folgenden Befehl, um die Build-Dateien zu generieren:freertos
cmake -DVENDOR=infineon -DBOARD=xmc4800_plus_optiga_trust_x -DCOMPILER=arm-gcc -S . -B
build-folder
-G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0 -
Ä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. -
Flashen und Sie das Image mit JLINK und führen Sie es aus.
-
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
-
Flashen Sie das Image mit der ausführbaren Datei JLNIK.
JLINK_PATH
\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlinkDie 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.
-
Fehlerbehebung
Informationen zur Problembehebung finden Sie unter Fehlerbehebung – Erste Schritte.