Le programme d’exemple « httpsrv » fourni avec MQX 4.0 génère un serveur web avec support CGI. Le but de cet article est de présenter une petite astuce qui tue pour le faire marcher correctement sur le kit d’évaluation TWRK60F120M-KIT, et d’analyser comment il fonctionne.
Etape 1: Générer le projet
Pour créer l’application « httpsrv », il faut commencer par les étapes suivantes:
- Dans CodeWarrior 10.3, aller dans le menu File, puis New et enfin MQX 4.0 Project.
- Le wizard demande un nom pour le nouveau projet: « web » par exemple.
- Sélectionner le nom du kit d’évaluation pour lequel le projet sera généré (dans mon cas: Kinetis Evaluation Board, TWRK60F120M Board.
- Cliquer sur Next (pas sur « Finish »)
- Choisir l’option « Select application Type » : Example application.
- Dans le dossier RTCS examples, sélectionner httpsrv example
- Cliquer sur Finish.
L’application est maintenant générée et se trouve dans la liste des projets actuellement ouverts.
Etape 2: Corriger les erreurs de compilation
En suivant la procédure ci-dessus, j’ai obtenu une application qui ne compile pas. Les dépendances avec le module « shell » de MQX ne sont pas résolues. Si vous avez le même problème, voici comment le résoudre:
- Dans la fenêtre CodeWarrior Projects, faire un clic-droit sur le nom de l’application et sélectionner le menu Properties.
- Développer le dossier C/C++ Build et sélectionner l’option Settings.
- Dans l’onglet Tool Settings, développer le dossier ARM Compiler et sélectionner l’option Input.
- Ajouter ${MQX_ROOT_DIR}/lib/twrk60f120m.cw10/debug/shell dans Include User Search Path
- Développer le dossier ARM Linker et sélectionner l’option Input.
- Ajouter ${MQX_ROOT_DIR}/lib/twrk60f120m.cw10/debug/shell dans Library Search Paths
- Ajouter « shell.a » dans Additional Libraries.
- Valider en cliquant sur OK.
- Effectuer un Clean Project
- Build Project devrait maintenant construire l’application sans erreur.
Etape 3: Vérifier la position des jumpers sur la carte TWR-SER
Pour être certain que le port Ethernet du kit d’évaluation TWRK60F120M-KIT fonctionne, il faut positionner correctement les cavaliers J2 et J12 sur la carte TWR-SER.
- Cavalier J2 sur la position 3-4
- Cavalier J12 sur la position 9-10
La discussion suivante sur le site communautaire de Freescale donne toutes les explications à ce sujet: rtcs_shell_twrk60f120m and httpsrv_twrk60f120m
Etape 4: Comment ça marche ?
Ce programme d’exemple, une fois chargé sur le kit d’évaluation TWRK60F120M-KIT, fourni une interface en ligne de commande (shell) via le port série pour régler les paramètres TCP/IP.
Avec une liaison RS232 et un terminal, on accède notamment à une commande « ipconfig » qui permet de régler l’adresse IP et le masque réseau de l’interface Ethernet.
Une fois ces paramètres réglés, un navigateur internet quelconque permet de se connecter au serveur web intégré.