Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Öffnen Sie die Keil UVision IDE
- Schritt 2: Wählen Sie das Gerät aus
- Schritt 3: Laufzeitumgebung verwalten
- Schritt 4: Kopieren Sie FreeRTOS in Ihren Projektordner
- Schritt 5: FreeRTOS-Dateien zum Projekt hinzufügen
- Schritt 6: Konfigurieren Sie den Pfad der FreeRTOS-Headerdateien
- Schritt 7: Datei "FreeRTOSConfig.h" zum Projekt hinzufügen
- Schritt 8: Fügen Sie die Datei "main.c" mit der Basisvorlage hinzu
- Schritt 9: Verbinden Sie Ihr STM32F407 Discovery Kit mit Ihrem PC/Laptop
- Schritt 10: Wählen Sie den ST-Link-Debugger in der Compiler-Konfiguration
- Schritt 11: ST-Link-Debugger konfigurieren
- Schritt 12: Code erstellen und hochladen
- Schritt 13: Gehen Sie zum Debug-Fenster und öffnen Sie den seriellen Monitor
- Schritt 14: Führen Sie den Code aus, um die Ausgabe im Debug Printf-Fenster anzuzeigen
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Die Wahl von FreeRTOS als Echtzeitbetriebssystem für Ihr eingebettetes Projekt ist eine gute Wahl. Das FreeRTOS ist wirklich kostenlos und bietet viele einfache und effektive RTOS-Funktionen. Aber das Einrichten von freeRTOS von Grund auf kann schwierig sein oder ich kann ein bisschen verwirrend sagen, da es einige Anpassungen erfordert, wie das Hinzufügen von Mikrocontroller-spezifischen Dateien, das Festlegen von Header-Dateipfaden usw. In diesem Instructable werde ich Sie bei der Einrichtung von FreeRTOS anleiten Ihr STM32F407 Discovery Kit im Detail mit Kiel uVision IDE.
Lieferungen
- Weitere Informationen zu FreeRTOS finden Sie unter freertos.org
- Anleitung zum Herunterladen von FreeRTOS Anleitungen zum Herunterladen des RTOS-Quellcodes
- Vollständige Details zum STM32F407 Discovery Kit Erste Schritte mit dem STM32F407 Discovery KIt
- Github Repository FreeRTOS auf STM32F407 Discovery Kit
Schritt 1: Öffnen Sie die Keil UVision IDE
Öffnen Sie die Keil uVision-IDE. Klicken Sie auf ein Projekt und wählen Sie Neues uVision-Projekt… Wählen Sie dann Ihr Arbeitsverzeichnis und geben Sie Ihren bevorzugten Projektnamen ein.
Schritt 2: Wählen Sie das Gerät aus
Nachdem Sie dem Projekt einen Namen gegeben haben, müssen Sie im nächsten Schritt das Gerät hinzufügen. Hier fügen wir den STM32F407VG Microncontroller von STMicroelectronics hinzu. Wählen Sie STM32F407VG aus, und klicken Sie dann auf OK.
Schritt 3: Laufzeitumgebung verwalten
Der nächste Schritt besteht darin, die Bibliotheks-/Treiberkomponente auf der Registerkarte Laufzeitumgebung verwalten auszuwählen. Wählen Sie hier alle Komponenten wie im obigen Bild gezeigt aus. Nachdem Sie alle entsprechenden Felder angekreuzt haben, klicken Sie auf Auflösen und dann auf OK.
Schritt 4: Kopieren Sie FreeRTOS in Ihren Projektordner
Jetzt müssen Sie den gesamten FreeRTOS-Ordner in Ihren Projektordner kopieren.
Schritt 5: FreeRTOS-Dateien zum Projekt hinzufügen
Nachdem Sie den FreeRTOS-Ordner in Ihren Projektordner kopiert haben, müssen Sie alle erforderlichen FreeRTOS-Dateien zu Ihrem Projekt hinzufügen.
- Klicken Sie in Keil mit der rechten Maustaste auf Select Target1, und wählen Sie dann Neue Gruppe hinzufügen aus. Benennen Sie diese Gruppe in FreeRTOS um.
- Klicken Sie nun auf die FreeRTOS-Gruppe, klicken Sie mit der rechten Maustaste und wählen Sie Vorhandene Dateien zur Gruppe hinzufügen "FreeRTOS…"
- Fügen Sie alle FreeRTOS-Dateien wie im obigen Bild gezeigt hinzu.
Der Pfad zum Auffinden dieser Dateien im FreeRTOS-Ordner lautet:
- Dateien: croutine, event_groups, list, queue, stream_buffer, Tasks und Timer. Pfad: (….\FreeRTOSv10.2.1\FreeRTOS\Source)
- Dateien: heap_4 (Es gibt 4 Speicherverwaltungsdateien, die jeden hinzufügen). Pfad: (….\FreeRTOSv10.2.1\FreeRTOS\Source\portable\MemMang)
- Dateien: port.c (Dies ist eine MCU-spezifische Datei). Pfad: (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)
Hinweis: Die FreeRTOS-Version kann sich ändern. Verwenden Sie einfach die neueste verfügbare Version.
Schritt 6: Konfigurieren Sie den Pfad der FreeRTOS-Headerdateien
Nachdem Sie die FreeRTOS-Quelldateien hinzugefügt haben, müssen Sie dem Compiler mitteilen, wo sich die entsprechenden Header-Dateien befinden. Daher müssen wir die Compiler-Option konfigurieren.
Rechtsklick auf Target1 Option für Target "Target1.." C/C++ Include-Pfad. Stellen Sie sicher, dass Sie diese Pfade angeben:
- Ordner in FreeRTOS einschließen (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
- RVDS-Verzeichnis (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)
Hinweis: Wenn Sie Header-Dateien haben, stellen Sie sicher, dass Sie den Pfad dieser Header-Dateien wie oben beschrieben angeben.
Schritt 7: Datei "FreeRTOSConfig.h" zum Projekt hinzufügen
Das FreeRTOS hat eine wichtige Header-Datei namens FreeRTOSConfig.h. Diese Datei enthält die anwendungsspezifische (in unserem Fall spezifisch für Cortex M4F MCU) Anpassung. Der Einfachheit halber habe ich unsere MCU-spezifische FreeRTOSConfig.h-Datei in das RVDS-Verzeichnis kopiert. Und auch in Schritt 6 haben wir bereits den RVDS-Pfad hinzugefügt. Wenn Sie sie selbst hinzufügen, müssen Sie diese Datei zu Ihrem Projekt hinzufügen und auch den Pfad dieser Datei angeben, wie in Schritt 6 beschrieben.
Falls Sie die Datei FreeRTOSConfig.h selbst in Ihrem bevorzugten Verzeichnis hinzufügen möchten, habe ich diese Datei unten eingefügt.
Für weitere Informationen Klicken Sie hier FreeRTOSConfig.h
Schritt 8: Fügen Sie die Datei "main.c" mit der Basisvorlage hinzu
- Erstellen Sie nun eine neue Benutzergruppe (ich habe sie in "Benutzeranwendung" umbenannt).
- Fügen Sie dieser Gruppe eine neue C-Datei hinzu (ich habe eine Datei namens main.c hinzugefügt).
- Dies ist die Datei, in der die Funktion main() existiert. Ich habe alle minimal erforderlichen Funktionen und Header in diese Datei aufgenommen, damit das Projekt erfolgreich kompiliert wird.
Sie finden die main.c-Datei mit der grundlegenden Vorlage unten.
Schritt 9: Verbinden Sie Ihr STM32F407 Discovery Kit mit Ihrem PC/Laptop
Schritt 10: Wählen Sie den ST-Link-Debugger in der Compiler-Konfiguration
Klicken Sie mit der rechten Maustaste auf Target1, dann klicken Sie auf Option für Target "Target1..", navigieren Sie dann zur Registerkarte Debug und wählen Sie ST-Link-Debugger wie im obigen Bild gezeigt
Schritt 11: ST-Link-Debugger konfigurieren
Nachdem Sie in Schritt 10 den ST-Link Debugger ausgewählt haben, klicken Sie auf Einstellungen, wählen Sie Trace und überprüfen Sie alle Felder wie im obigen Bild gezeigt.
Schritt 12: Code erstellen und hochladen
Erstellen Sie nach Abschluss aller Schritte das Projekt und stellen Sie sicher, dass der Code fehlerfrei ist. Laden Sie den Code nach erfolgreicher Kompilierung in Ihr Discovery Kit hoch.
Schritt 13: Gehen Sie zum Debug-Fenster und öffnen Sie den seriellen Monitor
Gehen Sie nach dem Hochladen zu Debug windowviewSerial WindowsDebug(printf) Viewer, wie im obigen Bild gezeigt.
Schritt 14: Führen Sie den Code aus, um die Ausgabe im Debug Printf-Fenster anzuzeigen
Der letzte Schritt besteht darin, den Code wie im Bild gezeigt auszuführen, um die Ausgabe im printf-Fenster anzuzeigen. Hier in main.c habe ich 2 einfache Aufgaben namens task1 und task2 implementiert. Beide Aufgaben haben die gleiche Priorität und geben nur den Namen der Aufgabe aus. Aufgrund der gleichen Prioritäten können Sie beide laufen sehen und den Namen drucken.