Configuration d'un port du noyau FreeRTOS - FreeRTOS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'un port du noyau FreeRTOS

Cette section fournit des instructions pour l'intégration d'un port du noyau FreeRTOS dans un projet de test de portage FreeRTOS. Pour obtenir la liste des ports du noyau disponibles, consultez Ports du noyau FreeRTOS.

FreeRTOS utilise le noyau FreeRTOS pour les communications multi-tâche et inter-tâche. Pour plus d'informations, consultez le .Principes fondamentaux du noyau FreeRTOSdans le Guide de l'utilisateur de FreeRTOS etFreertos.org.

Note

Le portage du noyau FreeRTOS vers une nouvelle architecture n’est pas couvert par la présente documentation. Si vous êtes intéressé par le portage du noyau FreeRTOS vers une nouvelle architecture,contacter l'équipe d'ingénierie FreeRTOS.

Pour le programme de qualification FreeRTOS, seuls les ports existants sont pris en charge. Les modifications apportées à ces ports ne sont pas acceptées dans le cadre du programme de qualification. Seuls les ports officiels qui peuvent être téléchargés depuisGithubsont acceptés.

Prerequisites

Pour configurer le noyau FreeRTOS en vue d’un portage, vous avez besoin des éléments suivants :

  • Un port de noyau FreeRTOS officiel pour la plateforme cible

  • Un projet IDE ou fichier de liste CMakeLists.txt qui inclut les bons fichiers de port du noyau FreeRTOS pour la plateforme cible et le compilateur.

    Pour de plus amples informations sur la configuration d'un projet de test, veuillez consulter Configuration de votre code source FreeRTOS à des fins de portage.

  • Implémentation de la macro configPRINT_STRING() pour votre périphérique.

    Pour plus d'informations sur l'implémentation de configPRINT_STRING(), consultez Mise en œuvre de la macro configPRINT_STRING().

Configuration du noyau FreeRTOS

Le fichier d'en-tête freertos/vendors/vendor/boards/board/aws_tests/config_files/FreeRTOSConfig.h indique les paramètres de configuration spécifiques à l'application pour le noyau FreeRTOS. Pour obtenir une description de chaque option de configuration, consultez Personnalisation sur FreeRTOS.org.

Pour configurer le noyau FreeRTOS pour qu’il fonctionne avec votre appareil, ouvrez FreeRTOSConfig.h et vérifiez que les options de configuration dans le tableau suivant sont correctement spécifiées pour votre plateforme.

Option de configuration Description

configCPU_CLOCK_HZ

Spécifie la fréquence d'horloge utilisée pour générer l’interruption des tics.

configMINIMAL_STACK_SIZE

Spécifie la taille de pile minimale. En guise de point de départ, elle peut être fixée à la valeur utilisée dans la démo FreeRTOS officielle pour le port de noyau FreeRTOS en cours d'utilisation. Les démos FreeRTOS officielles sont celles distribués sur le site Web FreeRTOS.org. Assurez-vous que la vérification de dépassement de capacité de pile est définie sur 2 et augmentez la valeur configMINIMAL_STACK_SIZE si des dépassements se produisent. Pour économiser de la mémoire RAM, configurez les tailles de piles à la valeur minimale qui n'entraînera pas de dépassement de pile.

configTOTAL_HEAP_SIZE

Définit la taille du heap FreeRTOS. Comme les tailles de pile de tâches, la taille de heap peut être paramétrée de façon à garantir que l'espace du heap non utilisé ne consomme pas de mémoire RAM.

Note

Si vous procédez à un portage vers des appareils ARM Cortex-M3, M4 ou M7, vous devez également spécifier configPRIO_BITS et configMAX_SYSCALL_INTERRUPT_PRIORITY comme il se doit.

Testing

  1. Ouvrez /libraries/freertos_plus/standard/utils/src/iot_system_init.c et commentez les lignes qui appellent SOCKETS_Init() depuis la fonction SYSTEM_Init(). Cette fonction d'initialisation appartient à une bibliothèque que vous n'avez pas encore portée. La section de portage de cette bibliothèque contient des instructions pour annuler le commentaire de cette fonction.

  2. Générez le projet de test, puis flashez-le sur votre appareil pour l'exécuter.

  3. Si « . » s'affiche dans la console UART toutes les 5 secondes, alors le noyau FreeRTOS est correctement configuré et le test est terminé.

    Ouvrez freertos/vendors/vendor/boards/board/aws_tests/config_files/FreeRTOSConfig.h et définissez configUSE_IDLE_HOOK sur 0 pour que le noyau arrête d'exécuter vApplicationIdleHook() et de générer « . ».

  4. Si « . » s'affiche à une fréquence autre que toutes les 5 secondes, ouvrez FreeRTOSConfig.h et vérifiez que configCPU_CLOCK_HZ est défini sur la valeur correcte pour votre carte.

Une fois que vous avez configuré le port du noyau FreeRTOS pour votre appareil, vous pouvez démarrer le portage de la bibliothèque Wi-Fi. Pour obtenir des instructions, veuillez consulter Portage de la bibliothèque Wi-Fi Library.