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
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.
Themen
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.
-
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.bz2
Die Datei ist. -
Kopieren Sie die Datei in ein Verzeichnis Ihrer Wahl. Stellen Sie sicher, dass der Verzeichnisname keine Leerzeichen enthält.
-
Verwenden Sie den folgenden Befehl, um die Datei zu entpacken.
tar –vxf
filename
-
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/
Verzeichnis befindet.user-name
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
gibt der generische Verzeichnisname das AWS SDK-Stammverzeichnis an. Der tatsächliche Verzeichnisname kann anders sein. Sie müssen über Root-Rechte verfügen.amzsdk_bundle-x.y.z
-
Navigieren Sie zum
Verzeichnis und führen Sie diesen Befehl aus.amzsdk_bundle-x.y.z/
./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
-
Führen Sie den folgenden Befehl aus, um libusb-1.0 zu installieren.
sudo apt-get install libusb-1.0
-
Laden Sie den Openocd 0.9.0-Quellcode von http://openocd.org/ herunter.
-
Extrahieren Sie Openocd und navigieren Sie zu dem Verzeichnis, in das Sie es extrahiert haben.
-
Konfigurieren Sie openocd mit dem folgenden Befehl.
./configure --enable-ftdi --enable-jlink
-
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
-
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. -
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
-
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.
-
Navigieren Sie zum Build-Verzeichnis.
cd build
-
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:
-
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 demaws_demos project
und dem wechselnaws_tests project
. -
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.
-
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.
-
-
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.
-
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
-
Setzen Sie das Board zurück. Sie sollten die Protokolle für die Demo-App sehen.
-
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.
-
-
Nachdem Sie die Firmware geflasht und die Platine zurückgesetzt haben, sollte die Demo-App wie in der Abbildung unten gezeigt starten.
-
(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.
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
-
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 demaws_demos
Projekt und demaws_tests
Projekt wechseln. -
Ö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 die Option zum Erstellen eines Makefile-Projekts: mit vorhandenem Code, wie in der Abbildung unten gezeigt.
-
Wählen Sie „Durchsuchen“, geben Sie das Verzeichnis mit dem vorhandenen Code an und wählen Sie dann „Fertig stellen“.
-
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.
Wenn der Build erfolgreich ist, wird die Datei generiert.
build/cmake/vendors/marvell/mw300_rd/aws_demos.bin
-
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.-
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.
-
-
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.
-
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
-
Setzen Sie das Board zurück. Sie sollten die Protokolle für die Demo-App sehen.
-
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.
-
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 ein
GDB Hardware
. Wählen Sie die Option C/C++ GDB Hardware Debugging und installieren Sie das Plugin.
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 dermain.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
Datei.freertos
/vendors/marvell/WMSDK/mw320/sdk/src/incl/autoconf.h
-
- GDB verwenden
-
Wir empfehlen, die zusammen mit dem SDK verpackten
gdb
Befehlsdateienarm-none-eabi-gdb
und zu verwenden. Navigieren Sie zum Verzeichnis .cd
freertos
/lib/third_party/mcu_vendor/marvell/WMSDK/mw320Fü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