Portage de lwIP - 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.

Portage de lwIP

lwIP est une autre pile TCP/IP à code source libre. Pour plus d'informations, consultez lwIP - A Lightweight TCP/IP Stack - Accueil. Actuellement, FreeRTOS prend en charge la version 2.1.2.

Prerequisites

Pour porter la pile lwIP, vous avez besoin des éléments suivants :

  • Un projet IDE ou un fichier de liste CMakeLists.txt qui inclut des pilotes réseau provenant d’un fournisseur.

  • Configuration validée du noyau FreeRTOS.

    Pour plus d’informations sur la configuration du noyau FreeRTOS pour votre plateforme, consultez Configuration d'un port du noyau FreeRTOS.

Porting

Avant de porter la pile TCP/IP lwIP vers votre appareil, vérifiez le répertoire freertos/libraries/3rdparty/lwip/src/portable pour voir si un portage vers votre plateforme existe déjà.

  1. S’il n'existe pas de portage, procédez comme suit :

    Sous freertos/libraries/3rdparty/lwip/src/portable, créez un répertoire nommé vendor/board/netif, où les répertoires fournisseur et board correspondent à votre plateforme.

  2. Ajoutez le fichier stub freertos/libraries/3rdparty/lwip/src/netif/ethernetif.c aux commentaires du fichier stub.

  3. Après avoir créé un portage, ou si un portage existe déjà, dans le fichier main.c du projet de test, ajoutez un appel à tcpip_init().

  4. Dans freertos/vendors/vendor/boards/board/aws_tests/config_files, créez un fichier de configuration nommé lwipopts.h. Ce fichier doit contenir la ligne suivante :

    #include "arch/lwipopts_freertos.h"

    Le fichier doit également contenir toutes les options de configuration spécifiques à la plateforme.

Testing

Si vous utilisez un IDE pour générer des projets de test, vous devez configurer le portage de votre bibliothèque dans le projet IDE.

Note

Il n'y a pas de tests de portage TCP/IP spécifiques à lwIP.

Configuration du projet de test IDE

Si vous utilisez un IDE pour le portage et le test, vous devez ajouter des fichiers source au projet de test IDE avant de pouvoir tester votre code porté.

Important

Dans les étapes suivantes, assurez-vous d’ajouter les fichiers source à votre projet IDE depuis leur emplacement sur disque. Ne créez pas de copies de vos fichiers source.

Pour configurer les fichiers source lwIP dans le projet IDE

  1. Ajoutez tous les fichiers d'en-tête et la source d'lwip/src et ses sous-répertoires dans le projet IDE aws_tests.

    Note

    Si vous avez ajouté un fichier .c au projet IDE, puis modifié ce fichier .c pour un portage, vous devez remplacer le fichier .c initial par le fichier modifié dans le projet IDE.

  2. Ajoutez les chemins suivants au chemin à inclure de votre compilateur :

    • freertos/libraries/3rdparty/lwip/src/include

    • freertos/libraries/3rdparty/lwip/src/portable

    • freertos/libraries/3rdparty/lwip/src/portable/vendor/board/include

Configuration du fichier CMakeLists.txt

Si vous utilisez CMake pour générer votre projet de test, vous devez définir une cible de couche portable pour la bibliothèque dans votre fichier de liste CMake.

Pour définir la cible de couche portable d'une bibliothèque dans CMakeLists.txt, suivez les instructions de Couches portables FreeRTOS.

Le fichier de liste de modèles CMakeLists.txt sous freertos/vendors/vendor/boards/board/CMakeLists.txt inclut des exemples de définition cible de couche portable. Vous pouvez supprimer la mise en commentaire de la définition de la bibliothèque que vous portez et modifier celle-ci pour qu'elle corresponde à votre plateforme.