Table des matières:

Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407 : 14 étapes
Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407 : 14 étapes

Vidéo: Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407 : 14 étapes

Vidéo: Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407 : 14 étapes
Vidéo: FreeRTOS: part1 2024, Novembre
Anonim
Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407
Configuration de FreeRTOS à partir de zéro sur le kit de découverte STM32F407

Choisir FreeRTOS comme système d'exploitation en temps réel pour votre projet embarqué est un excellent choix. Le FreeRTOS est vraiment gratuit et fournit de nombreuses fonctionnalités RTOS simples et efficaces. Mais la configuration de freeRTOS à partir de zéro peut être difficile ou je peux dire un peu déroutant car elle nécessite une certaine personnalisation telle que l'ajout de fichiers spécifiques au microcontrôleur, la définition des chemins de fichiers d'en-tête, etc. Dans ce Instructable, je vais vous guider sur la façon de configurer FreeRTOS sur votre kit de découverte STM32F407 en détail à l'aide de Kiel uVision IDE.

Fournitures

  • Vous pouvez en savoir plus sur FreeRTOS sur freertos.org
  • Guide de téléchargement FreeRTOS Instructions de téléchargement du code source RTOS
  • Détails complets sur le kit de découverte STM32F407 Premiers pas avec le kit de découverte STM32F407
  • Dépôt Github FreeRTOS sur le kit de découverte STM32F407

Étape 1: Ouvrez Keil UVision IDE

Ouvrez Keil UVision IDE
Ouvrez Keil UVision IDE

Ouvrez Keil uVision IDE. Cliquez sur un projet, puis sélectionnez Nouveau projet uVision… Ensuite, sélectionnez votre répertoire de travail et donnez le nom de votre projet préféré.

Étape 2: sélectionnez l'appareil

Sélectionnez l'appareil
Sélectionnez l'appareil

Une fois que vous avez donné un nom au projet, à l'étape suivante, vous devez ajouter un périphérique. Ici, nous ajoutons le Micronconroller STM32F407VG de STMicroelectronics. Sélectionnez le STM32F407VG, puis cliquez sur OK.

Étape 3: Gérer l'environnement d'exécution

Gérer l'environnement d'exécution
Gérer l'environnement d'exécution

L'étape suivante consiste à sélectionner le composant bibliothèque/pilote dans l'onglet Gérer l'environnement d'exécution. Ici, sélectionnez tous les composants comme indiqué dans l'image ci-dessus. Une fois que vous avez coché tous les champs appropriés, cliquez sur Résoudre, puis sur OK.

Étape 4: Copiez FreeRTOS dans votre dossier de projet

Copiez FreeRTOS dans votre dossier de projet
Copiez FreeRTOS dans votre dossier de projet

Vous devez maintenant copier l'intégralité du dossier FreeRTOS dans votre dossier de projet.

Étape 5: ajouter des fichiers FreeRTOS au projet

Ajouter des fichiers FreeRTOS au projet
Ajouter des fichiers FreeRTOS au projet

Une fois que vous avez copié le dossier FreeRTOS dans votre dossier de projet, vous devez ajouter tous les fichiers FreeRTOS nécessaires à votre projet.

  1. Dans Keil, sélectionnez Target1, cliquez avec le bouton droit de la souris, puis sélectionnez Ajouter un nouveau groupe. Renommez ce groupe en FreeRTOS.
  2. Maintenant, cliquez sur le groupe FreeRTOS, cliquez avec le bouton droit de la souris sur l'option Ajouter des fichiers existants au groupe "FreeRTOS…"
  3. Ajoutez tous les fichiers FreeRTOS comme indiqué dans l'image ci-dessus.

Le chemin pour trouver ces fichiers dans le dossier FreeRTOS est:

  • Fichiers: croutine, event_groups, list, queue, stream_buffer, task and timers. Chemin: (….\FreeRTOSv10.2.1\FreeRTOS\Source)
  • Fichiers: heap_4 (Il y a 4 fichiers de gestion de mémoire ajouter n'importe qui). Chemin: (….\FreeRTOSv10.2.1\FreeRTOS\Source\portable\MemMang)
  • Fichiers: port.c (Il s'agit d'un fichier spécifique au MCU). Chemin: (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Remarque: la version FreeRTOS peut changer. Utilisez simplement la dernière version disponible.

Étape 6: Configurez le chemin des fichiers d'en-tête FreeRTOS

Configurer le chemin des fichiers d'en-tête FreeRTOS
Configurer le chemin des fichiers d'en-tête FreeRTOS

Une fois que vous avez ajouté les fichiers source FreeRTOS, vous devez indiquer au compilateur où se trouvent les fichiers d'en-tête respectifs. Par conséquent, nous devons configurer l'option du compilateur.

Cliquez avec le bouton droit sur l'option Target1 pour la cible "Target1.." Chemin d'inclusion C/C++. Assurez-vous d'inclure ces chemins:

  1. Inclure le dossier dans FreeRTOS (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
  2. Répertoire RVDS (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Remarque: Si vous avez des fichiers d'en-tête, assurez-vous d'inclure le chemin de ces fichiers d'en-tête comme expliqué ci-dessus.

Étape 7: ajouter le fichier "FreeRTOSConfig.h" au projet

Ajouter
Ajouter

Le FreeRTOS a un fichier d'en-tête important appelé FreeRTOSConfig.h. Ce fichier contient la personnalisation spécifique à l'application (dans notre cas spécifique au MCU Cortex M4F). Pour plus de simplicité, j'ai copié notre fichier FreeRTOSConfig.h spécifique au MCU dans le répertoire RVDS. Et également à l'étape 6, nous avons déjà ajouté le chemin RVDS. Si vous l'ajoutez vous-même, vous devez ajouter ce fichier dans votre projet et vous assurer également d'inclure le chemin de ce fichier comme expliqué à l'étape 6.

Si vous souhaitez ajouter vous-même le fichier FreeRTOSConfig.h dans votre répertoire préféré, j'ai inclus ce fichier ci-dessous.

Pour plus d'informations Cliquez ici FreeRTOSConfig.h

Étape 8: Ajoutez le fichier "main.c" avec le modèle de base

Ajouter le
Ajouter le
  • Créez maintenant un nouveau groupe d'utilisateurs (je l'ai renommé en "Application utilisateur").
  • Ajoutez un nouveau fichier C à ce groupe (j'ai ajouté un fichier appelé main.c).
  • C'est le fichier où la fonction main() existe. J'ai inclus toutes les fonctions et en-têtes minimum requis dans ce fichier afin que le projet se compile avec succès.

Vous pouvez trouver le fichier main.c avec le modèle de base ci-dessous.

Étape 9: connectez votre kit de découverte STM32F407 à votre PC/ordinateur portable

Connectez votre kit de découverte STM32F407 à votre PC/ordinateur portable
Connectez votre kit de découverte STM32F407 à votre PC/ordinateur portable

Étape 10: sélectionnez le débogueur ST-Link dans la configuration du compilateur

Sélectionnez le débogueur ST-Link dans la configuration du compilateur
Sélectionnez le débogueur ST-Link dans la configuration du compilateur

Cliquez avec le bouton droit sur Target1, puis cliquez sur Option pour Target "Target1..", puis accédez à l'onglet Debug et sélectionnez ST-Link-Debugger comme indiqué dans l'image ci-dessus

Étape 11: Configurer le débogueur ST-Link

Configurer le débogueur ST-Link
Configurer le débogueur ST-Link

Après avoir sélectionné le débogueur ST-Link à l'étape 10, cliquez sur Paramètres, puis sélectionnez Trace et vérifiez tous les champs comme indiqué dans l'image ci-dessus.

Étape 12: Créer et télécharger le code

Créer et télécharger le code
Créer et télécharger le code

Après avoir terminé toutes les étapes, créez le projet et assurez-vous qu'il n'y a pas d'erreurs dans le code. Une fois la compilation réussie, téléchargez le code dans votre kit de découverte.

Étape 13: Accédez à la fenêtre de débogage et ouvrez Serial Monitor

Accédez à la fenêtre de débogage et ouvrez le moniteur série
Accédez à la fenêtre de débogage et ouvrez le moniteur série

Après le téléchargement, accédez à la visionneuse de débogage windowviewSerial WindowsDebug(printf) comme indiqué dans l'image ci-dessus.

Étape 14: Exécutez le code pour voir la sortie sur la fenêtre Printf de débogage

Exécutez le code pour voir la sortie sur la fenêtre Printf de débogage
Exécutez le code pour voir la sortie sur la fenêtre Printf de débogage

L'étape finale consiste à exécuter le code comme indiqué dans l'image pour voir la sortie dans la fenêtre printf. Ici, dans main.c, j'ai implémenté 2 tâches simples appelées task1 et task2. Les deux tâches ont la même priorité et elles impriment simplement le nom de la tâche. En raison des mêmes priorités, vous pouvez les voir tous les deux s'exécuter et imprimer le nom.

Conseillé: