Erste Schritte mit dem MW32x AWS IoT Starter Kit - 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.

Erste Schritte mit dem MW32x AWS IoT Starter 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 ein vorhandenes FreeRTOS-Projekt haben, das auf dem inzwischen veralteten Amazon-FreeRTOS-Repository basiert, finden Sie weitere Informationen unter. Leitfaden zur Migration des kostenlosen RTOS Github-Repositorys von Amazon

Das AWS IoT Starter Kit ist ein Entwicklungskit, das auf dem 88MW320/88MW322 basiert, dem neuesten integrierten Cortex-M4-Mikrocontroller von NXP, der 802.11b/g/n-Wi-Fi auf einem einzigen Mikrocontroller-Chip integriert. Das Entwicklungskit ist FCC-zertifiziert. Weitere Informationen finden Sie im Gerätekatalog für AWS Partner, wo Sie eines von unserem Partner erwerben können. Die 88MW320/88MW322-Module sind ebenfalls FCC-zertifiziert und können individuell angepasst und in großen Stückzahlen verkauft werden.

Diese Kurzanleitung zeigt Ihnen, wie Sie Ihre Anwendung zusammen mit dem SDK auf einem Host-Computer Cross-Compilieren kompilieren und dann die generierte Binärdatei mit den im SDK enthaltenen Tools auf das Board laden. Wenn die Anwendung auf dem Motherboard ausgeführt wird, können Sie sie über die serielle Konsole auf Ihrem Host-Computer debuggen oder mit ihr interagieren.

Ubuntu 16.04 ist die Host-Plattform, die für Entwicklung und Debugging unterstützt wird. Möglicherweise können Sie andere Plattformen verwenden, diese werden jedoch nicht offiziell unterstützt. Sie müssen über die erforderlichen Berechtigungen verfügen, um Software auf der Hostplattform zu installieren. Die folgenden externen Tools sind für die Erstellung des SDK erforderlich:

  • Host-Plattform für Ubuntu 16.04

  • ARM-Toolchain, Version 4_9_2015q3

  • Eclipse 4.9.0 IDE

Die ARM-Toolchain ist für die Cross-Compilierung Ihrer Anwendung und des SDK erforderlich. Das SDK nutzt die neuesten Versionen der Toolchain, um den Image-Footprint zu optimieren und mehr Funktionen auf weniger Platz unterzubringen. In diesem Handbuch wird davon ausgegangen, dass Sie Version 4_9_2015q3 der Toolchain verwenden. Die Verwendung älterer Versionen der Toolchain wird nicht empfohlen. Das Entwicklungskit ist mit der Firmware des Wireless Microcontroller Demo-Projekts vorinstalliert.

Einrichten Ihrer Hardware

Connect die MW32x-Karte mit einem Mini-USB-zu-USB-Kabel mit Ihrem Laptop. Connect das Mini-USB-Kabel mit dem einzigen Mini-USB-Anschluss auf der Platine. Sie benötigen keinen Jumperwechsel.

Wenn das Board an einen Laptop oder Desktop-Computer angeschlossen ist, benötigen Sie keine externe Stromversorgung.

Diese USB-Verbindung bietet Folgendes:

  • Konsolenzugriff auf das Board. Auf dem Entwicklungshost ist ein virtueller TTY/COM-Port registriert, über den auf die Konsole zugegriffen werden kann.

  • JTAG-Zugriff auf das Board. Dies kann zum Laden oder Entladen von Firmware-Images in den RAM oder Flash der Platine oder zu Debugging-Zwecken verwendet werden.

Einrichten der Entwicklungsumgebung

Für Entwicklungszwecke sind die ARM-Toolchain und die im SDK enthaltenen Tools die Mindestanforderung. Die folgenden Abschnitte enthalten Einzelheiten zur Einrichtung der ARM-Toolchain.

GNU-Toolchain

Das SDK unterstützt offiziell die GCC Compiler-Toolchain. Die Cross-Compiler-Toolchain für GNU ARM ist unter GNU Arm Embedded Toolchain 4.9-2015-q3-update verfügbar.

Das Build-System ist standardmäßig so konfiguriert, dass es die GNU-Toolchain verwendet. Die Makefiles gehen davon aus, dass die Binärdateien der GNU-Compiler-Toolchain im PATH des Benutzers verfügbar sind und von den Makefiles aus aufgerufen werden können. Die Makefiles gehen auch davon aus, dass den Dateinamen der GNU-Toolchain-Binärdateien ein Präfix vorangestellt wird. arm-none-eabi-

Die GCC-Toolchain kann mit GDB zum Debuggen mit OpenOCD (im Lieferumfang des SDK enthalten) verwendet werden. Dies stellt die Software bereit, die mit JTAG verbunden ist.

Wir empfehlen Version 4_9_2015q3 der Toolchain. gcc-arm-embedded

Verfahren zur Einrichtung der Linux-Toolchain

Gehen Sie wie folgt vor, um die GCC-Toolchain unter Linux einzurichten.

  1. Laden Sie den Toolchain-Tarball herunter, der unter GNU Arm Embedded Toolchain 4.9-2015-q3-update verfügbar ist. gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2Die Datei ist.

  2. Kopieren Sie die Datei in ein Verzeichnis Ihrer Wahl. Stellen Sie sicher, dass der Verzeichnisname keine Leerzeichen enthält.

  3. Verwenden Sie den folgenden Befehl, um die Datei zu entpacken.

    tar –vxf filename
  4. Fügen Sie den Pfad der installierten Toolchain zum System-PATH hinzu. Fügen Sie beispielsweise die folgende Zeile am Ende der .profile Datei an, die sich im /home/user-name Verzeichnis befindet.

    PATH=$PATH:path to gcc-arm-none-eabit-4_9_2015_q3/bin
Anmerkung

Neuere Distributionen von Ubuntu könnten mit einer Debian-Version des GCC Cross Compilers geliefert werden. Falls ja, müssen Sie den systemeigenen Cross Compiler entfernen und das obige Einrichtungsverfahren befolgen.

Arbeiten Sie mit einem Linux-Entwicklungshost

Jede moderne Linux-Desktop-Distribution wie Ubuntu oder Fedora kann verwendet werden. Wir empfehlen jedoch, auf die neueste Version zu aktualisieren. Es wurde verifiziert, dass die folgenden Schritte unter Ubuntu 16.04 funktionieren. Es wird davon ausgegangen, dass Sie diese Version verwenden.

Pakete installieren

Das SDK enthält ein Skript, mit dem Sie Ihre Entwicklungsumgebung auf einem neu eingerichteten Linux-Computer schnell einrichten können. Das Skript versucht, den Maschinentyp auto zu erkennen und die entsprechende Software zu installieren, einschließlich C-Bibliotheken, USB-Bibliothek, FTDI-Bibliothek, Ncurses, Python und Latex. In diesem Abschnitt amzsdk_bundle-x.y.z gibt der generische Verzeichnisname das AWS SDK-Stammverzeichnis an. Der tatsächliche Verzeichnisname kann anders sein. Sie müssen über Root-Rechte verfügen.

  • Navigieren Sie zum amzsdk_bundle-x.y.z/ Verzeichnis und führen Sie diesen Befehl aus.

    ./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/bin/installpkgs.sh

Sudo vermeiden

In dieser Anleitung verwendet der flashprog Vorgang das flashprog.py Skript, um das NAND der Platine zu flashen, wie unten erklärt. In ähnlicher Weise verwendet der ramload Vorgang das ramload.py Skript, um das Firmware-Image vom Host direkt in den RAM des Mikrocontrollers zu kopieren, ohne das NAND zu flashen.

Sie können Ihren Linux-Entwicklungshost so konfigurieren, dass er die flashprog ramload AND-Operationen ausführt, ohne dass der sudo Befehl jedes Mal erforderlich ist. Führen Sie dazu den folgenden Befehl aus.

./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/bin/perm_fix.sh
Anmerkung

Sie müssen die Berechtigungen Ihres Linux-Entwicklungshosts auf diese Weise konfigurieren, um ein reibungsloses Eclipse-IDE-Erlebnis zu gewährleisten.

Einrichtung der seriellen Konsole

Stecken Sie das USB-Kabel in den USB-Steckplatz des Linux-Hosts. Dies löst die Erkennung des Geräts aus. In der /var/log/messages Datei oder nach der Ausführung des dmesg Befehls sollten Sie Meldungen wie die folgenden sehen.

Jan 6 20:00:51 localhost kernel: usb 4-2: new full speed USB device using uhci_hcd and address 127 Jan 6 20:00:51 localhost kernel: usb 4-2: configuration #1 chosen from 1 choice Jan 6 20:00:51 localhost kernel: ftdi_sio 4-2:1.0: FTDI USB Serial Device converter detected Jan 6 20:00:51 localhost kernel: ftdi_sio: Detected FT2232C Jan 6 20:00:51 localhost kernel: usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB0 Jan 6 20:00:51 localhost kernel: ftdi_sio 4-2:1.1: FTDI USB Serial Device converter detected Jan 6 20:00:51 localhost kernel: ftdi_sio: Detected FT2232C Jan 6 20:00:51 localhost kernel: usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB1

Stellen Sie sicher, dass zwei ttyUSB-Geräte erstellt wurden. Der zweite ttyUSB ist die serielle Konsole. Im obigen Beispiel heißt sie „ttyUSB1".

In diesem Handbuch verwenden wir Minicom, um die Ausgabe der seriellen Konsole zu sehen. Sie können auch andere serielle Programme verwenden, wie z. putty Führen Sie den folgenden Befehl aus, um Minicom im Setup-Modus auszuführen.

minicom –s

Navigieren Sie in Minicom zu Serial Port Setup und erfassen Sie die folgenden Einstellungen.

| A - Serial Device : /dev/ttyUSB1 | B – Lockfile Location : /var/lock | C - Callin Program : | D - Callout Program : | E - Bps/Par/Bits : 115200 8N1 | F – Hardware Flow Control : No | G – Software Flow Control : No

Sie können diese Einstellungen in Minicom zur künftigen Verwendung speichern. Das Minicom-Fenster zeigt jetzt Nachrichten von der seriellen Konsole.

Wählen Sie das serielle Konsolenfenster und drücken Sie die Eingabetaste. Dadurch wird ein Hash (#) auf dem Bildschirm angezeigt.

Anmerkung

Die Entwicklungsboards enthalten ein FTDI-Siliziumgerät. Das FTDI-Gerät stellt zwei USB-Schnittstellen für den Host zur Verfügung. Die erste Schnittstelle ist der JTAG-Funktionalität der MCU zugeordnet und die zweite Schnittstelle ist dem physischen UARTx-Port der MCU zugeordnet.

OpenOCD installieren

OpenOCD ist eine Software, die Debugging, systeminterne Programmierung und Boundary-Scan-Tests für eingebettete Zielgeräte ermöglicht.

OpenOCD-Version 0.9 ist erforderlich. Sie ist auch für die Eclipse-Funktionalität erforderlich. Wenn eine frühere Version, z. B. Version 0.7, auf Ihrem Linux-Host installiert wurde, entfernen Sie dieses Repository mit dem entsprechenden Befehl für die Linux-Distribution, die Sie derzeit verwenden.

Führen Sie den Standard-Linux-Befehl aus, um OpenOCD zu installieren.

apt-get install openocd

Wenn der obige Befehl Version 0.9 oder höher nicht installiert, verwenden Sie das folgende Verfahren, um den Openocd-Quellcode herunterzuladen und zu kompilieren.

Um OpenOCD zu installieren
  1. Führen Sie den folgenden Befehl aus, um libusb-1.0 zu installieren.

    sudo apt-get install libusb-1.0
  2. Laden Sie den Openocd 0.9.0-Quellcode von http://openocd.org/ herunter.

  3. Extrahieren Sie Openocd und navigieren Sie zu dem Verzeichnis, in das Sie es extrahiert haben.

  4. Konfigurieren Sie openocd mit dem folgenden Befehl.

    ./configure --enable-ftdi --enable-jlink
  5. Führen Sie das Make-Hilfsprogramm aus, um opencd zu kompilieren.

    make install

Eclipse einrichten

Anmerkung

In diesem Abschnitt wird davon ausgegangen, dass Sie die Schritte in abgeschlossen haben Sudo vermeiden

Eclipse ist die bevorzugte IDE für Anwendungsentwicklung und Debugging. Es bietet eine umfangreiche, benutzerfreundliche IDE mit integrierter Debugging-Unterstützung, einschließlich Thread-fähigem Debugging. In diesem Abschnitt wird das allgemeine Eclipse-Setup für alle unterstützten Entwicklungshosts beschrieben.

Einrichten von Eclipse
  1. Laden Sie das Java Run Time Environment (JRE) herunter und installieren Sie es.

    Eclipse erfordert, dass Sie die JRE installieren. Wir empfehlen, dass Sie dies zuerst installieren, obwohl es auch nach der Installation von Eclipse installiert werden kann. Die JRE-Version (32/64 Bit) muss mit der Version von Eclipse (32/64 Bit) übereinstimmen. Sie können die JRE von Java SE Runtime Environment 8 Downloads auf der Oracle-Website herunterladen.

  2. Laden Sie die „Eclipse IDE for C/C++ Developers“ von http://www.eclipse.org herunter und installieren Sie sie. Eclipse Version 4.9.0 oder höher wird unterstützt. Für die Installation müssen Sie nur das heruntergeladene Archiv entpacken. Sie führen die plattformspezifische Eclipse-Programmdatei aus, um die Anwendung zu starten.

Erstellen und starten Sie das FreeRTOS-Demoprojekt

Es gibt zwei Möglichkeiten, das FreeRTOS-Demo-Projekt auszuführen:

  • Verwenden Sie die Befehlszeile.

  • Verwenden Sie die Eclipse-IDE.

Dieses Thema behandelt beide Optionen.

Bereitstellung
  • Je nachdem, ob Sie die Test- oder die Demo-Anwendung verwenden, legen Sie die Bereitstellungsdaten in einer der folgenden Dateien fest:

    • ./tests/common/include/aws_clientcredential.h

    • ./demos/common/include/aws_clientcredential.h

    Beispielsweise:

    #define clientcredentialWIFI_SSID "Wi-Fi SSID" #define clientcredentialWIFI_PASSWORD "Wi-Fi password" #define clientcredentialWIFI_SECURITY "Wi-Fi security"
    Anmerkung

    Sie können die folgenden Wi-Fi-Sicherheitswerte eingeben:

    • eWiFiSecurityOpen

    • eWiFiSecurityWEP

    • eWiFiSecurityWPA

    • eWiFiSecurityWPA2

    Die SSID und das Passwort sollten in doppelte Anführungszeichen gesetzt werden.

Erstellen Sie die FreeRTOS-Demo und führen Sie sie über die Befehlszeile aus
  1. Verwenden Sie den folgenden Befehl, um mit der Erstellung der Demo-Anwendung zu beginnen.

    cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S . -Bbuild -DAFR_ENABLE_TESTS=0

    Stellen Sie sicher, dass Sie dieselbe Ausgabe wie im folgenden Beispiel erhalten.

    Befehlsterminalausgabe mit FreeRTOS-Build-Konfigurationsdetails für eine drahtlose Marvell mw300_rd-Mikrocontroller-Karte.
  2. Navigieren Sie zum Build-Verzeichnis.

    cd build
  3. Führen Sie das Make-Hilfsprogramm aus, um die Anwendung zu erstellen.

    make all -j4

    Stellen Sie sicher, dass Sie dieselbe Ausgabe wie in der folgenden Abbildung erhalten:

    Terminalausgabe, die den Erstellungsprozess von C-Objektdateien und die Verknüpfung mit einer statischen Bibliothek sowie eine ausführbare Datei für AWS Demos zeigt.
  4. Verwenden Sie die folgenden Befehle, um eine Testanwendung zu erstellen.

    cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S . -Bbuild -DAFR_ENABLE_TESTS=1 cd build make all -j4

    Führen Sie den cmake Befehl jedes Mal aus, wenn Sie zwischen dem aws_demos project und dem wechselnaws_tests project.

  5. Schreiben Sie das Firmware-Image auf den Flash-Speicher des Entwicklungsboards. Die Firmware wird ausgeführt, nachdem das Entwicklungsboard zurückgesetzt wurde. Sie müssen das SDK erstellen, bevor Sie das Image auf den Mikrocontroller flashen.

    1. Bevor Sie das Firmware-Image flashen, bereiten Sie den Flash des Entwicklungsboards mit den gemeinsamen Komponenten Layout und Boot2 vor. Verwenden Sie die folgenden Befehle.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py -l ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt --boot2 ./vendors/marvell/WMSDK/mw320/boot2/bin/boot2.bin

      Der flashprog Befehl initiiert Folgendes:

      • Layout — Das Flashprog-Hilfsprogramm wird zunächst angewiesen, ein Layout in den Flash zu schreiben. Das Layout ähnelt den Partitionsinformationen für den Flash. Das Standardlayout befindet sich unter/lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt.

      • Boot2 — Dies ist der vom WMSDK verwendete Bootloader. Der flashprog Befehl schreibt auch einen Bootloader in den Flash. Es ist die Aufgabe des Bootloaders, das Firmware-Image des Mikrocontrollers zu laden, nachdem es geflasht hat. Stellen Sie sicher, dass Sie dieselbe Ausgabe wie in der Abbildung unten erhalten.

      Ausgabe des Befehls an die Flash-Layout- und Boot2-Elemente.
    2. Die Firmware verwendet den Wi-Fi-Chipsatz für ihre Funktionalität, und der Wi-Fi-Chipsatz verfügt über eine eigene Firmware, die auch im Flash vorhanden sein muss. Sie verwenden das flashprog.py Hilfsprogramm, um die Wi-Fi-Firmware auf die gleiche Weise zu flashen, wie Sie es beim Flashen des Boot2-Bootloaders und der MCU-Firmware getan haben. Verwenden Sie die folgenden Befehle, um die Wi-Fi-Firmware zu flashen.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --wififw ./vendors/marvell/WMSDK/mw320/wifi-firmware/mw30x/mw30x_uapsta_W14.88.36.p135.bin

      Stellen Sie sicher, dass die Ausgabe des Befehls der folgenden Abbildung ähnelt.

      Die Wi-Fi-Firmware flashen
    3. Verwenden Sie die folgenden Befehle, um die MCU-Firmware zu flashen.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_demos.bin -r
    4. Setzen Sie das Board zurück. Sie sollten die Protokolle für die Demo-App sehen.

    5. Um die Test-App auszuführen, flashen Sie die aws_tests.bin Binärdatei, die sich im selben Verzeichnis befindet.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_tests.bin -r

      Ihre Befehlsausgabe sollte der in der folgenden Abbildung gezeigten ähneln.

      Die MCU-Firmware flashen
  6. Nachdem Sie die Firmware geflasht und die Platine zurückgesetzt haben, sollte die Demo-App wie in der Abbildung unten gezeigt starten.

    Starten Sie die Demo-App
  7. (Optional) Verwenden Sie als alternative Methode zum Testen Ihres Images das Flashprog-Hilfsprogramm, um das Mikrocontroller-Image vom Host direkt in den Mikrocontroller-RAM zu kopieren. Das Bild wird nicht im Flash kopiert und geht daher verloren, wenn Sie den Mikrocontroller neu starten.

    Das Laden des Firmware-Images in den SRAM ist ein schnellerer Vorgang, da die Ausführungsdatei sofort gestartet wird. Diese Methode wird hauptsächlich für die iterative Entwicklung verwendet.

    Verwenden Sie die folgenden Befehle, um die Firmware in den SRAM zu laden.

    cd amzsdk_bundle-x.y.z ./lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/ramload.py build/cmake/vendors/marvell/mw300_rd/aws_demos.axf

    Die Befehlsausgabe ist in der folgenden Abbildung dargestellt.

    Das Firmware-Image wird in den SRAM geladen

    Wenn die Befehlsausführung abgeschlossen ist, sollten Sie die Protokolle der Demo-App sehen.

Erstellen Sie die FreeRTOS-Demo mit der Eclipse-IDE und führen Sie sie aus
  1. Bevor Sie einen Eclipse-Workspace einrichten, müssen Sie den cmake Befehl ausführen.

    Führen Sie den folgenden Befehl aus, um mit dem aws_demos Eclipse-Projekt zu arbeiten.

    cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S . -Bbuild -DAFR_ENABLE_TESTS=0

    Führen Sie den folgenden Befehl aus, um mit dem aws_tests Eclipse-Projekt zu arbeiten.

    cmake -DVENDOR=marvell -DBOARD=mw320 -DCOMPILER=arm-gcc -S . -Bbuild -DAFR_ENABLE_TESTS=1
    Tipp

    Führen Sie den cmake Befehl jedes Mal aus, wenn Sie zwischen dem aws_demos Projekt und dem aws_tests Projekt wechseln.

  2. Öffnen Sie Eclipse und wählen Sie, wenn Sie dazu aufgefordert werden, Ihren Eclipse-Arbeitsbereich aus, wie in der Abbildung unten gezeigt.

    Wählen Sie den Eclipse-Arbeitsbereich aus
  3. Wählen Sie die Option zum Erstellen eines Makefile-Projekts: mit vorhandenem Code, wie in der Abbildung unten gezeigt.

    Erstellen eines Makefile-Projekts mit vorhandenem Code
  4. Wählen Sie „Durchsuchen“, geben Sie das Verzeichnis mit dem vorhandenen Code an und wählen Sie dann „Fertig stellen“.

    Suchen Sie nach dem vorhandenen Code
  5. Wählen Sie im Navigationsbereich im Projektexplorer aws_demos aus. Klicken Sie mit der rechten Maustaste auf aws_demos, um das Menü zu öffnen, und wählen Sie dann Build.

    Das Projekt aws_demos erstellen

    Wenn der Build erfolgreich ist, wird die Datei generiert. build/cmake/vendors/marvell/mw300_rd/aws_demos.bin

  6. Verwenden Sie die Befehlszeilentools, um die Layout-Datei (layout.txt), die Boot2-Binärdatei (boot2.bin), die MCU-Firmware-Binärdatei (aws_demos.bin) und die Wi-Fi-Firmware zu flashen.

    1. Bevor Sie das Firmware-Image flashen, bereiten Sie den Flash des Entwicklungsboards mit den gemeinsamen Komponenten Layout und Boot2 vor. Verwenden Sie die folgenden Befehle.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py -l ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt --boot2 ./vendors/marvell/WMSDK/mw320/boot2/bin/boot2.bin

      Der flashprog Befehl initiiert Folgendes:

      • Layout — Das Flashprog-Hilfsprogramm wird zunächst angewiesen, ein Layout in den Flash zu schreiben. Das Layout ähnelt den Partitionsinformationen für den Flash. Das Standardlayout befindet sich unter/lib/third_party/mcu_vendor/marvell/WMSDK/mw320/sdk/tools/OpenOCD/mw300/layout.txt.

      • Boot2 — Dies ist der vom WMSDK verwendete Bootloader. Der Befehl flashprog schreibt auch einen Bootloader in den Flash. Es ist die Aufgabe des Bootloaders, das Firmware-Image des Mikrocontrollers zu laden, nachdem es geflasht wurde. Stellen Sie sicher, dass Sie dieselbe Ausgabe wie in der Abbildung unten erhalten.

      Ausgabe des Befehls an die Flash-Layout- und Boot2-Elemente
    2. Die Firmware verwendet den Wi-Fi-Chipsatz für ihre Funktionalität, und der Wi-Fi-Chipsatz verfügt über eine eigene Firmware, die auch im Flash vorhanden sein muss. Sie verwenden das flashprog.py Hilfsprogramm, um die Wi-Fi-Firmware auf die gleiche Weise zu flashen, wie Sie es beim Flashen des Boot2-Bootloaders und der MCU-Firmware getan haben. Verwenden Sie die folgenden Befehle, um die Wi-Fi-Firmware zu flashen.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --wififw ./vendors/marvell/WMSDK/mw320/wifi-firmware/mw30x/mw30x_uapsta_W14.88.36.p135.bin

      Stellen Sie sicher, dass die Ausgabe des Befehls der folgenden Abbildung ähnelt.

      Die Wi-Fi-Firmware flashen
    3. Verwenden Sie die folgenden Befehle, um die MCU-Firmware zu flashen.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_demos.bin -r
    4. Setzen Sie das Board zurück. Sie sollten die Protokolle für die Demo-App sehen.

    5. Um die Test-App auszuführen, flashen Sie die aws_tests.bin Binärdatei, die sich im selben Verzeichnis befindet.

      cd amzsdk_bundle-x.y.z ./vendors/marvell/WMSDK/mw320/sdk/tools/OpenOCD/flashprog.py --mcufw build/cmake/vendors/marvell/mw300_rd/aws_tests.bin -r

      Ihre Befehlsausgabe sollte der in der folgenden Abbildung gezeigten ähneln.

      Die MCU-Firmware flashen

Debugging

  • Starten Sie Eclipse und wählen Sie Hilfe und dann Neue Software installieren. Wählen Sie im Menü „Arbeiten mit“ die Option „Alle verfügbaren Websites“. Geben Sie den Filtertext einGDB Hardware. Wählen Sie die Option C/C++ GDB Hardware Debugging und installieren Sie das Plugin.

    Screenshot des Installationsfensters in der Softwareschnittstelle, das das GDB-Hardware-Debugging-Element zeigt, das für die Installation in der GDB-Hardwarekategorie ausgewählt wurde.

Fehlerbehebung

Probleme mit dem Netzwerk

Überprüfen Sie Ihre Netzwerkanmeldedaten. Weitere Informationen finden Sie unter „Bereitstellung“. Erstellen und starten Sie das FreeRTOS-Demoprojekt

Zusätzliche Protokolle aktivieren
  • Aktiviere platinenspezifische Protokolle.

    Aktiviert Aufrufe der Funktion prvMiscInitialization in der main.c Datei für Tests oder Demos. wmstdio_init(UART0_ID, 0)

  • Wi-Fi-Protokolle aktivieren

    Aktivieren Sie das Makro CONFIG_WLCMGR_DEBUG in der freertos/vendors/marvell/WMSDK/mw320/sdk/src/incl/autoconf.h Datei.

GDB verwenden

Wir empfehlen, die zusammen mit dem SDK verpackten gdb Befehlsdateien arm-none-eabi-gdb und zu verwenden. Navigieren Sie zum Verzeichnis .

cd freertos/lib/third_party/mcu_vendor/marvell/WMSDK/mw320

Führen Sie den folgenden Befehl (in einer einzigen Zeile) aus, um eine Verbindung zu GDB herzustellen.

arm-none-eabi-gdb -x ./sdk/tools/OpenOCD/gdbinit ../../../../../../build/cmake/vendors/marvell/mw300 _rd/aws_demos.axf