| PICOS18 > Tutorial > Env |
|
Dans ce premier chapitre vous mettrez au point un projet basé sur PICos18. Pour celà vous manipulerez l'environnement de développement MPLAB® de Microchip ainsi que le compilateur C18. |
![]() |
| > Les sources du projet |
Avant de lancer MPLAB®, téléchargez ici les sources du tutorial, comprenant les fichiers sources du noyau et de l'application. Voici à quoi correspond chacun de ces fichiers :

|
Include
|
Comme son nom l'indique ce répertoire
contient l'ensemble des headers du noyau PICos18. Les headers propres
à l'application et aux drivers se trouveront dans les répertoires
propres aux applications (sous Project). Il existe un header spécifique
pour chaque sous-ensemble du noyau : alarmes, événements,
interruption et processus. Le fichier device.h contient les définitions
génériques du noyau comme les définitions des valeurs
de retour des fonctions du noyau.
|
|
Kernel
|
Vous trouverez sous ce répertoire
toutes les sources du noyau. Les fichiers C correspondent aux services
du noyau (l'API), et le fichier kernel.asm, seul fichier assembleur de
PICos18, réunit l'ensemble des fonctions propres au noyau, c'est-à-dire
les algorithmes de scheduler, l'ordonancement des tâches et le gestionnaire
d'erreurs.
Les sources sont fournies à titre d'information ou si vous souhaitez les modifier pour vos besoins propres. Pour vous permettre d'utiliser PICos18 plus facilement, nous y avons ajouter le noyau sous forme de librairie : picos18.lib. De plus les codes d'amorce du compilateur (runtime) fournis par Microchip ne sont pas adaptés à PICos18, nous avons donc choisi de les adapter en conséquence. Ils sont fournis sous forme de fichier .o (comme PICos18iz.o). Vous n'avez pas à vous souciez de la librairie picos18.lib et des fichiers d'amorce, ils sont automatiquement associés à votre projet par PICos18 ! |
|
Linker
|
Lorsque vous construisez votre application
avec PICos18, vous écrivez votre code en language C. Par la suite
il convient de compiler votre application avec C18 (créer chaque
fichier .o correspondant à chaque fichier .c) puis de les lier
entre eux à l'aide du linker. La façon de lier les fichiers
.o est paramétrable, et elle est décrite dans les fichiers
.lkr de ce répertoire. Pour chaque type de processeurs remarquables
dans la famille PIC18, il est fourni un fichier lkr pour vous éviter
de gérer cette partie délicate de l'étape de compilation.
Pour chaque nouveau PIC18 géré par un PICos18, un nouveau
script de linker se verra ajouter à ce répertoire au fil
du temps.
|
|
Project/MyApp
|
Ce répertoire contient les
fichiers nécessaires à la création de tout projet
avec PICos18. Comme vous pouvez le constater il n'y a que très
peu de fichiers : le main.c qui est le premier fichier applicatif exécuté
par PICos18, le fichier int.c qui rassemble les routines d'interruptions
et d'interruptions rapides, le fichier taskdesc.c qui décrit précisément
tous les éléments de votre application (alarmes, compteurs,
caractéristiques de vos tâches, ...), et un fichier C par
tâche de l'application.
|
|
Project/Tutorial
|
Le tutorial s'appuie sur la réalisation
d'une application type sous PICos18. Tout au long des différents
chapitres vous allez découvrir comment programmer sous PICos18
et comment construire vos applications. Les fichiers présents sous
ce répertoire sont ceux de l'application finale, une fois terminée.
Ceci apporte un support concrêt à ce tutorial en vous fournissant
le code source de l'application de test.
|
Dézippez l'ensemble des sources directement sous C:\. Le reste du tutorial supposes que le répertoire PICos18 se trouve bel et bien sous C:\. Dans le cas contraire, effectuez par vous même les rectifications qui s'imposent.
Ce tutorial est pour le moment destiné à un développement
sous MPLAB® / Windows et a été validé sous MPLAB®
v7.xx, et le compilateur C de Microchip en version 3.xx. Vous pouvez téléchargez
les versions gratuites de ces outils depuis le site de Microchip. La version
gratuite de C18 correspond à une version sans gestion des optimisation
par le compilateur, or il ne faut surtout pas utiliser les optimisations de
C18 avec PICos18, certaines n'étant pas adaptés dans le cadre
d'une utilisation multi-tâches. C18 en version gratuite est donc un compilateur
qui convient parfaitement pour PICos18 et les PIC18, le code assembleur généré
étant parfaitement optimisé pour les composants PIC18.
Le composant cible est un PIC18F452 (n'oubliez pas de sélectionner
le composant sous MPLAB®).
| > Compilateur C18 |
|
Commencez par installer MPLAB® et le compilateur Microchip pour PIC18 en version gratuite. Par défaut nous supposons que le chemin d'installation est "C:\mcc18\". Sous MPLAB®, cliquez sur "Project / Set Language Tool Location..." et paramétrez MPASM, MPLAB C18 et MPLINK. |
| > Création de projet |
|
Puis créer un nouveau projet toujours sous MPLAB®. Cliquez sur "Project / New..." et nommez votre projet avec un nom de moins de 8 caractères. Attention le chemin du répertoire du projet ne doit pas contenir d'espace !! Puis cliquez sur "Project / Select Language Toolsuite..." et sélectionnez "Microchip C18 Toolsuite". |
| > Les options du projet |
|
Cliquez sur "Project / Build
Options..." et précisez les chemins d'inclusion
et celui des librairies du compilateur comme du noyau. Attention à
ne pas mettre d'espace entre chaque chemin !
Ensuite sélectionnez l'onglet "MPLAB C18" et cochez l'option "Use alternate settings" et ajouter l'option "-On-" dans la ligne de commande. Ceci à pour effet d'éviter l'optimisation des sélections de bank, non fonctionnelle dans le cas de PICos18. |
| > Compléter le projet |
|
Puis à l'aide du boutton droit de la sourie, ajoutez les fichiers
suivants : Les fichiers picos18.lib et PICos18iz.o seront automatiquement trouvés par la chaine de compilation. |
| > Compilation du projet |
|
Compiler le projet en appuyant
sur F10.
Le compilateur va compiler un à un les fichiers C de votre application. Il ne compilera pas les fichiers du noyau PICos18, la librairie étant fournie. Enfin le linkeur associé tous les fichiers .o du projet pour créer les fichiers nécessaires à la simulation et la programmation. |
| > Dévalider le Watchdog |
|
La simulation sous MPLAB® est basée sur les
paramètres des bits de configuration
du PIC18.
Paramétrez votre simulation comme indiqué sur la capture d'écran. Le watchdog doit être obligatoirement dévalidé. |
| > Simulation du projet |
|
Finalement lancez la simulation en cliquant sur "Debugger
/ Select Tool / MPLAB® SIM", puis F9
(Run). Attendez quelques secondes avant d'appuyez sur F5
(Stop).
La simulation a du s'arrêter sur l'instruction "while(1)" de la tâche 1 comme le montre l'image de droite. Pour autant cette instruction ne bloque pas le PIC18 dans une boucle infinie, car si besoin le noyau peut fonctionner, celui-ci ayant toujours la main sur l'application : essayez plusieurs tentatives pour vous arrêter dans une partie du noyau. Le fichier source du noyau dans lequel vous êtes arrêté va apparaître à l'écran. Pourtant les sources de PICos18 n'ont jamais été ajoutées au projet MyApp ! En réalité, ceci est du au fait que vous avez positionnez PICos18 sous C:\ et que la librairie a été compilée selon ce chemin précis... |
|
|