Inhaltsverzeichnis:
- Schritt 1: Softwareinstallation
- Schritt 2: Hardwareverbindung
- Schritt 3: Softwareeinstellungen
- Schritt 4: Kompilieren und laden
- Schritt 5: Führen Sie die App auf einem Mobiltelefon aus
- Schritt 6: Zusammenfassung
Video: Erste Schritte mit IDE für NRF51822, ARM® KEIL MDK V5 + ST-Link - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Überblick
Als ich anfing, eine nRF51822-Anwendung für mein Hobbyprojekt zu entwickeln, stellte ich fest, dass es keine organisierten Informationen zu diesem Thema gab. Hier möchte ich also notieren, was ich durchgemacht habe.
Dies beschreibt, was mich dazu bringt, eine "Softdevice"-Beispiel-App auf dem Board zu implementieren. Die Programmierung der ble_app_hrm-Anwendung, die von Nordics SDK bereitgestellt wird, wird hier vorgestellt.
Und wie im ersten Bild gezeigt, wurden ST Nucleo-F401RE, Waveshare BLE400 und nRF51822 Board verwendet, aber BLE400 ist nicht erforderlich, sofern Sie ST-Link und Ihr nRF51822-Board anschließen können.
Und der Vorteil der Verwendung von ST-Link auf Nucleo wurde genutzt, um die nRF51822-Platine mit 3,3 oder 5 V zu versorgen. Daher muss bei Verwendung eines ST-Link-Geräts möglicherweise eine Stromversorgung vorbereitet werden, da einige ST-Link-Geräte anscheinend nicht in der Lage sind, einen Mikrocontroller mit Strom zu versorgen.
Ich habe herausgefunden, dass mein nRF51822-Board "nRF51822_xxAA" ist, das 256kB ROM (Programmspeichergröße) und 16kB RAM (das 2. Bild) hat.
Das Verfahren umfasst die folgenden Schritte.
- Software Installation
- Hardware-Verbindung
- Softwareeinstellungen
- Kompilieren und laden
- Ausführen der App auf einem Mobiltelefon (Android)
Alle Informationen sind ab dem 28.09.2018 verfügbar.
Schritt 1: Softwareinstallation
Laden Sie MDK-ARM v5.26 oder höher von ARM KEIL herunter und installieren Sie es in Windows 10. Nach der Installation wird Keil µVision IDE mit ARM CMSIS usw. installiert. Auf dem System sind jedoch keine Nordic SDKs installiert.
Beim ersten Start von Keil µVision IDE wird Pack Installer gestartet. Im Pack Installer können Softwarepakete installiert werden, die für das zu entwickelnde Zielboard erforderlich sind.
Siehe das 1. Bild.
Es ist eine gute Idee, auf die Schaltfläche "Nach Updates suchen" zu klicken, um das Pack-Installationsprogramm vorher zu aktualisieren.
Suchen Sie auf der Registerkarte Geräte nach dem Zielgerät "nRF51822_xxAA", und wählen Sie es aus, damit die zugehörigen Pakete auf der Registerkarte Beispiele angezeigt werden.
In diesem anweisbaren habe ich "ble_app_hrs_s130_pca10028 (nRF51 PCA10028)" ausgewählt. Vergessen Sie nicht, "Nur Beispiele von installierten Packs anzeigen" zu deaktivieren, um das Projekt auf der Registerkarte Beispiel zu finden, da zu diesem Zeitpunkt noch keine Installation abgeschlossen ist.
Klicken Sie auf die Schaltfläche "Installieren", um das Entpacken (und auch das Kopieren) des Beispielprojekts zu starten. Beim Kopieren des Projekts in Ihr beliebiges Verzeichnis werden Sie einige Male aufgefordert, die anderen für das Projekt benötigten Software Packs zu installieren.
Siehe das 2. Bild.
Nach Abschluss der Installation öffnet µVision das Projekt.
Beachten Sie, dass sich das Originalprojekt unter C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Examples\11.0.0-2.alpha\ble_peripheral\ble_app_hrs\pca10028\s130\arm5 befindet.
Schritt 2: Hardwareverbindung
Hier zeigt das Bild den tatsächlichen Schaltplan.
Das Bild zeigt eine Möglichkeit der Verbindung von ST-Link und BLE400 mit einem nRF51822 Board. Es werden nur 4 Kabel benötigt, wie in der folgenden Tabelle angegeben.
ST-Link (Nucleo) - nRF51822
+5V - USB5V
Masse - Masse
SWCLK - SWDCLK
SWDIO - SWDIO
Um ST-Link auszuwählen, müssen die Jumper "CN2" geöffnet sein, wie in der Abbildung gezeigt.
Hinweis: Stattdessen funktioniert auch die Stromversorgung von 3,3 V.
Schritt 3: Softwareeinstellungen
Die Vorgehensweise in diesem Teil muss befolgt werden, sonst führt es nicht weiter.
Siehe das 1. Bild.
(1) Wählen Sie zunächst "nrf51422_xxac_s130" aus dem Dropdown-Menü "Select Target" in der Symbolleiste von µVision. Der Name unterscheidet sich vom Zielgerät, dies geschieht jedoch aufgrund ihrer Kompatibilität.
Siehe das 2. Bild
(2) Klicken Sie im Projektfenster mit der linken Maustaste auf "main.c" im Anwendungsordner und wählen Sie im Kontextmenü "main.c übersetzen", um die erforderlichen Überschriften (das 3. Bild) einzufügen. Beachten Sie, dass an dieser Stelle "nrf51422_xxac_s130" ausgewählt werden muss oder dieser Vorgang nicht funktioniert.
(3) Klicken Sie auf "Option For Target", um die IDE (das erste Bild) zu konfigurieren. Da der vorherige Vorgang durch "Übersetzen" den Zielmikrocontroller richtig eingestellt hat, wird bestätigt, dass IROM1:0x1B000 in Start, 0x25000 in Größe und IRAM:0x20001F00 in Start, 0x6100 in Größe auf der Registerkarte Ziel (das 4. Bild) zu sehen ist.
Siehe das 5. Bild.
(4) Wählen Sie auf der Registerkarte Debug "ST-Link Debugger" aus der Dropdown-Liste "Use:".
(5) Klicken Sie auf die Schaltfläche "Einstellungen", um das Fenster "Cortex-M Target Driver Setup" zu öffnen. Bestätigen Sie, dass die Registerkarte Debug anzeigt, dass der Zielmikrocontroller verbunden ist (das 6. Bild). Wenn dies nicht der Fall ist, gehen Sie zurück zum Abschnitt Hardwareverbindung und überprüfen Sie die Verbindung erneut.
Siehe das 7. Bild.
(6) Klicken Sie auf der Registerkarte Flash Download im Programmieralgorithmus auf die Schaltfläche "Hinzufügen" und fügen Sie "nRF51xxx External Connectivity Board" hinzu. Darüber hinaus kann "Reset and Run" aktiviert werden, damit ST-Link zurückgesetzt und das Programm ausgeführt wird.
Klicken Sie auf OK und schließen Sie das Fenster "Option für Ziel".
(7) Wählen Sie als nächstes "flash_s130_nrf51_x.x.x-x-x_softdevice" aus dem Dropdown-Menü "Select Target" in der Symbolleiste aus.
(8) Klicken Sie auf "Option für Ziel". Wählen Sie auf der Registerkarte Debug "ST-Link Debugger" aus der Dropdown-Liste "Use:".
(9) Klicken Sie auf die Schaltfläche "Einstellungen", um das Fenster "Cortex-M Target Driver Setup" zu öffnen. Stellen Sie erneut sicher, dass die Registerkarte Debug anzeigt, dass das Zielgerät verbunden ist. Wenn dies nicht der Fall ist, gehen Sie zurück zum Abschnitt Hardwareverbindung und überprüfen Sie die Verbindung erneut.
(10) Klicken Sie auf der Registerkarte "Flash Download" im "Programming Algorithm" auf die Schaltfläche "Add" und fügen Sie "nRF51xxx External Connectivity Board" hinzu. Und "Erase Full Chip" in "Download Function" kann ausgewählt werden, damit ST-Link den Board-Speicher zu Beginn des Flashens löscht, anstatt ihn manuell zu löschen.
Klicken Sie auf OK und schließen Sie das Fenster "Option für Ziel".
Jetzt können Sie den Code kompilieren und den nRF51822 flashen.
Beachten Sie, dass die Registerkarte "Gerät" in "Option für Ziel" zwar anzeigt, dass nRF51422_xxAC ausgewählt wurde, dies jedoch in Ordnung ist.
Schritt 4: Kompilieren und laden
Wählen Sie hier zunächst "flash_s130_nrf51_x.x.x-x-x_softdevice" aus dem Dropdown-Menü "Select Target" in der Symbolleiste aus und klicken Sie auf die Schaltfläche Download, um den Speicher zu flashen. Sie sehen "Verify OK", wenn der Download erfolgreich war (das 1. & 2. Bild).
Wählen Sie dann "nrf51422_xxac_s130" aus dem Dropdown-Menü "Select Target" und klicken Sie auf die Schaltfläche Build, um den Code zu kompilieren. Sie sehen die Nachricht wie im 3. Bild gezeigt.
Klicken Sie anschließend auf die Schaltfläche Download, um den Speicher zu flashen. Sie sehen die gleiche Meldung wie im 4. Bild.
Nach erfolgreichem Abschluss des Blinkens sehen Sie, dass die LED3 blinkt (Video).
Wenn Sie nun die App auf Ihrem Mobiltelefon installieren, sehen Sie, was das Programm tut.
Schritt 5: Führen Sie die App auf einem Mobiltelefon aus
Installieren Sie die App "nRF Toolbox for BLE" von Nordic Semiconductor auf einem Mobiltelefon oder Pad (das erste Bild).
Starten Sie das HRM und schließen Sie das nRF51822 (Video) an.
Schritt 6: Zusammenfassung
Es gab einige Punkte in diesem anweisbaren;
- Versorgen Sie die nRF51822-Platine mit Strom, um ST-Link anzuschließen
- Übersetzen Sie die Datei main.c, bevor Sie den Code kompilieren und herunterladen, wenn ein Beispielprojekt in ein anderes Verzeichnis als das Originalverzeichnis kopiert wird
- Stellen Sie "nRF51xxx External Connectivity Board" im Abschnitt Programmieralgorithmus ein
Ich hoffe, diese Anleitung hilft Bastlern wie mir.