Πίνακας περιεχομένων:

Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit: 14 Βήματα
Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit: 14 Βήματα

Βίντεο: Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit: 14 Βήματα

Βίντεο: Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit: 14 Βήματα
Βίντεο: STNucleo: Учебник по трансиверу MCP2515 CAN BUS для STM32 (Связь с Arduino) 2024, Ιούλιος
Anonim
Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit
Ρύθμιση του FreeRTOS From Scratch στο STM32F407 Discovery Kit

Η επιλογή του FreeRTOS ως λειτουργικού συστήματος σε πραγματικό χρόνο για το ενσωματωμένο έργο σας είναι μια εξαιρετική επιλογή. Το FreeRTOS είναι πραγματικά δωρεάν και παρέχει πολλές απλές και αποτελεσματικές λειτουργίες RTOS. Αλλά η ρύθμιση του freeRTOS από την αρχή μπορεί να είναι δύσκολη ή μπορώ να πω λίγο μπερδεμένη καθώς απαιτεί κάποια προσαρμογή, όπως προσθήκη συγκεκριμένων αρχείων για μικροελεγκτές, ρύθμιση διαδρομών αρχείων κεφαλίδας κ.λπ. Σε αυτό το Instructable, θα σας καθοδηγήσω πώς να ρυθμίσετε το FreeRTOS σε το κιτ STM32F407 Discovery λεπτομερώς χρησιμοποιώντας το Kiel uVision IDE.

Προμήθειες

  • Μπορείτε να βρείτε περισσότερα για το FreeRTOS στο freertos.org
  • Οδηγίες λήψης FreeRTOS Οδηγίες λήψης πηγαίου κώδικα RTOS
  • Πλήρεις λεπτομέρειες για το STM32F407 Discovery Kit Ξεκινώντας με το STM32F407 Discovery KIt
  • Github Repository FreeRTOS στο STM32F407 Discovery Kit

Βήμα 1: Ανοίξτε το Keil UVision IDE

Ανοίξτε το Keil UVision IDE
Ανοίξτε το Keil UVision IDE

Ανοίξτε το Keil uVision IDE. Κάντε κλικ σε ένα έργο, επιλέξτε New uVision Project… Στη συνέχεια, επιλέξτε τον κατάλογο εργασίας και δώστε το όνομα του έργου που προτιμάτε.

Βήμα 2: Επιλέξτε τη συσκευή

Επιλέξτε τη Συσκευή
Επιλέξτε τη Συσκευή

Αφού δώσετε όνομα στο έργο, στο επόμενο βήμα πρέπει να προσθέσετε συσκευή. Εδώ προσθέτουμε τον μικροελεγκτή STM32F407VG από την STMicroelectronics. Επιλέξτε το STM32F407VG και, στη συνέχεια, κάντε κλικ στο κουμπί OK.

Βήμα 3: Διαχείριση περιβάλλοντος χρόνου εκτέλεσης

Διαχείριση περιβάλλοντος χρόνου εκτέλεσης
Διαχείριση περιβάλλοντος χρόνου εκτέλεσης

Το επόμενο βήμα είναι να επιλέξετε το στοιχείο βιβλιοθήκης/προγράμματος οδήγησης στην καρτέλα Διαχείριση περιβάλλοντος χρόνου εκτέλεσης. Εδώ επιλέξτε όλα τα στοιχεία όπως φαίνεται στην παραπάνω εικόνα. Μόλις ελέγξετε όλα τα κατάλληλα πεδία, κάντε κλικ στην επιλογή Επίλυση και, στη συνέχεια, κάντε κλικ στο κουμπί OK.

Βήμα 4: Αντιγράψτε το FreeRTOS στο φάκελο του έργου σας

Αντιγράψτε το FreeRTOS στο φάκελο του έργου σας
Αντιγράψτε το FreeRTOS στο φάκελο του έργου σας

Τώρα πρέπει να αντιγράψετε ολόκληρο το φάκελο FreeRTOS στο φάκελο του έργου σας.

Βήμα 5: Προσθέστε αρχεία FreeRTOS στο έργο

Προσθέστε αρχεία FreeRTOS στο έργο
Προσθέστε αρχεία FreeRTOS στο έργο

Αφού αντιγράψετε τον φάκελο FreeRTOS μέσα στο φάκελο του έργου σας, πρέπει να προσθέσετε όλα τα απαραίτητα αρχεία FreeRTOS στο έργο σας.

  1. Στο Keil, Select Target1, κάντε δεξί κλικ και, στη συνέχεια, επιλέξτε Προσθήκη νέας ομάδας. Μετονομάστε αυτήν την ομάδα σε FreeRTOS.
  2. Τώρα κάντε κλικ στην ομάδα FreeRTOS, κάντε δεξί κλικ στην επιλογή Προσθήκη υπαρχόντων αρχείων στην ομάδα "FreeRTOS …"
  3. Προσθέστε όλα τα αρχεία FreeRTOS όπως φαίνεται στην παραπάνω εικόνα.

Η διαδρομή για την εύρεση αυτών των αρχείων στο φάκελο FreeRTOS είναι:

  • Αρχεία: croutine, group_groups, λίστα, ουρά, stream_buffer, εργασίες και χρονόμετρα. Διαδρομή: (…. / FreeRTOSv10.2.1 / FreeRTOS / Πηγή)
  • Αρχεία: heap_4 (Υπάρχουν 4 αρχεία διαχείρισης μνήμης που προσθέτουν οποιονδήποτε). Διαδρομή: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Αρχεία: port.c (Αυτό είναι ένα συγκεκριμένο αρχείο MCU). Διαδρομή: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Σημείωση: Η έκδοση του FreeRTOS ενδέχεται να αλλάξει. Απλώς χρησιμοποιήστε την πιο πρόσφατη διαθέσιμη έκδοση.

Βήμα 6: Διαμορφώστε τη διαδρομή των αρχείων κεφαλίδας του FreeRTOS

Διαμορφώστε τη διαδρομή των αρχείων κεφαλίδας του FreeRTOS
Διαμορφώστε τη διαδρομή των αρχείων κεφαλίδας του FreeRTOS

Μόλις προσθέσετε τα αρχεία προέλευσης FreeRTOS, πρέπει να ενημερώσετε τον μεταγλωττιστή που βρίσκονται τα αντίστοιχα αρχεία κεφαλίδας. Επομένως, πρέπει να διαμορφώσουμε την επιλογή μεταγλωττιστή.

Κάντε δεξί κλικ στο Target1 Option for Target "Target1.." C/C ++ Include path. Βεβαιωθείτε ότι έχετε συμπεριλάβει αυτές τις διαδρομές:

  1. Συμπερίληψη φακέλου στο FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Πηγή / περιλαμβάνει)
  2. Κατάλογος RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Πηγή / φορητό / RVDS / ARM_CM4F)

Σημείωση: Εάν έχετε αρχεία κεφαλίδας, βεβαιωθείτε ότι έχετε συμπεριλάβει τη διαδρομή αυτών των αρχείων κεφαλίδας όπως εξηγήθηκε παραπάνω.

Βήμα 7: Προσθέστε το αρχείο "FreeRTOSConfig.h" στο έργο

Προσθήκη
Προσθήκη

Το FreeRTOS διαθέτει ένα σημαντικό αρχείο κεφαλίδας που ονομάζεται FreeRTOSConfig.h. Αυτό το αρχείο περιέχει την προσαρμογή της εφαρμογής (στην περίπτωσή μας για το Cortex M4F MCU). Για απλότητα, έχω αντιγράψει το συγκεκριμένο αρχείο MRU FreeRTOSConfig.h στον κατάλογο RVDS. Και επίσης στο βήμα 6, έχουμε ήδη προσθέσει τη διαδρομή RVDS. Εάν το προσθέτετε μόνοι σας, πρέπει να προσθέσετε αυτό το αρχείο στο έργο σας και επίσης να βεβαιωθείτε ότι έχετε συμπεριλάβει τη διαδρομή αυτού του αρχείου, όπως εξηγείται στο βήμα 6.

Αν θέλετε να προσθέσετε το αρχείο FreeRTOSConfig.h μόνοι σας στον κατάλογο που προτιμάτε, το έχω συμπεριλάβει παρακάτω.

Για περισσότερες πληροφορίες Κάντε κλικ εδώ FreeRTOSConfig.h

Βήμα 8: Προσθέστε το αρχείο "main.c" με το βασικό πρότυπο

Πρόσθεσε το
Πρόσθεσε το
  • Τώρα δημιουργήστε μια νέα ομάδα χρηστών (τη μετονόμασα σε "Εφαρμογή χρήστη").
  • Προσθέστε ένα νέο αρχείο C σε αυτήν την ομάδα (έχω προσθέσει ένα αρχείο που ονομάζεται main.c).
  • Αυτό είναι το αρχείο όπου υπάρχει η κύρια συνάρτηση (). Έχω συμπεριλάβει όλες τις ελάχιστες απαιτούμενες λειτουργίες και κεφαλίδες σε αυτό το αρχείο, έτσι ώστε το έργο να μεταγλωττιστεί επιτυχώς.

Μπορείτε να βρείτε το αρχείο main.c με βασικό πρότυπο παρακάτω.

Βήμα 9: Συνδέστε το κιτ εντοπισμού STM32F407 στον υπολογιστή/φορητό υπολογιστή σας

Συνδέστε το κιτ εντοπισμού STM32F407 στον υπολογιστή/φορητό υπολογιστή σας
Συνδέστε το κιτ εντοπισμού STM32F407 στον υπολογιστή/φορητό υπολογιστή σας

Βήμα 10: Επιλέξτε ST-Link Debugger στη Διαμόρφωση μεταγλωττιστή

Επιλέξτε ST-Link Debugger στη Διαμόρφωση μεταγλωττιστή
Επιλέξτε ST-Link Debugger στη Διαμόρφωση μεταγλωττιστή

Κάντε δεξί κλικ στο Target1, στη συνέχεια κάντε κλικ στο Option for Target "Target1..", στη συνέχεια μεταβείτε στην καρτέλα εντοπισμού σφαλμάτων και επιλέξτε ST-Link-Debugger όπως φαίνεται στην παραπάνω εικόνα

Βήμα 11: Διαμόρφωση εντοπισμού σφαλμάτων ST-Link

Διαμόρφωση εντοπισμού σφαλμάτων ST-Link
Διαμόρφωση εντοπισμού σφαλμάτων ST-Link

Αφού επιλέξετε το πρόγραμμα εντοπισμού σφαλμάτων ST-Link στο βήμα 10, κάντε κλικ στις Ρυθμίσεις και μετά επιλέξτε Ανίχνευση και ελέγξτε όλα τα πεδία όπως φαίνεται στην παραπάνω εικόνα.

Βήμα 12: Δημιουργία και μεταφόρτωση του κώδικα

Δημιουργία και μεταφόρτωση του κώδικα
Δημιουργία και μεταφόρτωση του κώδικα

Αφού ολοκληρώσετε όλα τα βήματα, δημιουργήστε το έργο και βεβαιωθείτε ότι δεν υπάρχουν σφάλματα στον κώδικα. Μετά την επιτυχή μεταγλώττιση, ανεβάστε τον κώδικα στο Discovery Kit.

Βήμα 13: Μετάβαση στο παράθυρο εντοπισμού σφαλμάτων και άνοιγμα σειριακής οθόνης

Μετάβαση στο παράθυρο εντοπισμού σφαλμάτων και άνοιγμα σειριακής οθόνης
Μετάβαση στο παράθυρο εντοπισμού σφαλμάτων και άνοιγμα σειριακής οθόνης

Μετά τη μεταφόρτωση, μεταβείτε στο πρόγραμμα εντοπισμού σφαλμάτων Προβολή παραθύρουSerial WindowsDebug (printf) Viewer όπως φαίνεται στην παραπάνω εικόνα.

Βήμα 14: Εκτελέστε τον κώδικα για να δείτε το παράθυρο Ouput στο Debug Printf

Εκτελέστε τον κώδικα για να δείτε το παράθυρο Ouput στο Debug Printf
Εκτελέστε τον κώδικα για να δείτε το παράθυρο Ouput στο Debug Printf

Το τελικό βήμα είναι να εκτελέσετε τον κώδικα όπως φαίνεται στην εικόνα για να δείτε την έξοδο στο παράθυρο printf. Εδώ στο main.c έχω εφαρμόσει 2 απλές εργασίες που ονομάζονται task1 και task2. Και οι δύο εργασίες έχουν την ίδια προτεραιότητα και απλά εκτυπώνουν το όνομα της εργασίας. Λόγω των ίδιων προτεραιοτήτων, μπορείτε να δείτε και τους δύο να τρέχουν και να εκτυπώνουν το όνομα.

Συνιστάται: