Installation

Pré requis

Avant d'installer Piklab, quelques paquets doivent être installés :

  • alien qui permet de convertir un paquet rpm (paquet RedHat et compatibles) en un paquet deb (debian et compatibles)
  • gputils et gpsim sont l'assembleur et le simulateur de PIC
  • sdcc est un compilateur C pour de nombreux microcontrôleurs dont les PICs.

Pour les installer, soit la ligne de commande (apt-get ou aptitude) soit Synaptic.

Piklab est une application KDE, il faut donc les librairies Qt, la plupart du temps elles sont installées, car on a souvent des application KDE en plus des applications Gnome.

Installation de Piklab

Pour l'installation, la manœuvre est expliqué en anglais sur le forum ubuntu. Télécharger le fichier piklab-0.14.5-1mdv2007.0.i586.rpm sur sourceforge. Ensuite le transformer en paquet deb à l'aide de la commande suivante :

sudo alien piklab-0.14.5-1mdv2007.0.i586.rpm

Puis l'installer avec

sudo dpkg -i piklab_0.14.5-2_i386.deb

Ensuite il reste à construire des liens vers deux librairies (edit du 17/10/2007 : éventuellement le numéro de version peut changer) :

sudo ln -s /usr/lib/libpcreposix.so.3.12.0 /usr/lib/libpcreposix.so.0
sudo ln -s /usr/lib/libpcre.so.3.12.0 /usr/lib/libpcre.so.0

Ensuite pour lancer Piklab, soit la ligne de commande (piklab), soit le menu Applications, Développement, Piklab.

Premier projet en C

Création du projet

Configuration Dans le menu projet, choisir nouveau projet. Dans la boite de dialogue qui apparait, choisir le processeur voulu et le compilateur SDCC. J'ai choisi un PIC16F628A qui est souvent utilisé pour des projets simples. Ensuite, cliquer sur Next, une nouvelle boite apparait. Elle permet d'ajouter des fichiers existants au projet ou de choisir un fichier source modèle (un template). C'est cette solution que nous allons retenir en cliquant sur Finish. Un fichier .c est crée avec une configuration par défaut. Nous allons maintenant retoucher la configuration des fusibles du PIC.

Configuration des fusibles

Configuration fusibles Le menu Tools propose un assistant pour construire la configuration des fusibles en cliquant sur Générateur de configuration.... La boite de dialogue ci-contre apparait. Pour notre test, j'ai choisi de modifier le type d'horloge en passant FOSC à Quartz/résonateur(0001). Il faut ensuite copier la ligne de configuration dans le presse papier (en utilisant le bouton qui va bien !) puis remplacer la ligne de configuration existante avec le contenu du presse papier.

Écriture du programme

Là on va faire simple ! Dans la fonction main, on va simplement ajouter un compteur dont on envoie la valeur sur le PORTB :

void main() {
        char i;
        for(i=0;i<=255;i++){
                PORTB=i;
        }
}

Compilation et simulation

Pour construire l'ensemble du projet, appuyer sur F8 (ou aller dans le menu Construire puis Construire le projet). Après quelques lignes dans le journal de compilation (fenêtre du bas), la compilation est terminée. Quelques nouveaux fichiers sont crées, notamment le fichier .asm qui contient le code assembleur obtenu.

Avant de programmer le PIC, il est souvent utile de faire une petite simulation (d'autant plus que je n'ai pas de programmateur sous la main !). Nous allons donc faire une simulation qui va nous permettre de surveiller l'évolution du PORTB, qui doit normalement compter de 0 à 255.

Pour commencer, nous allons ajouter le PORTB dans la liste des éléments à surveiller. En cliquant sur l'onglet Vue surveillance dans le panneau de gauche, un nouvel onglet apparait dans l'éditeur. En cliquant sur le bouton PORTB, on sélectionne Surveiller pour ajouter le PORTB à la liste des registres observés.

Ensuite, avant de lancer la simulation, il est utile de placer un (ou des) point(s) d'arrêt(s) pour interrompre le programme en cours d'exécution. Ouvrir le fichier .asm en double cliquant dessus, puis se placer sur une ligne de code (par exemple MOVF r0x20,W) et cliquer du bouton droit (le menu Définir un point d'arrêt apparait).

Pour lancer la simulation, aller dans le menu Débogueur puis Démarrer (on peut aussi cliquer sur le bouton de la barre d'outils). La simulation commence et s'arrête sur le point d'arrêt qui devient vert. Il est possible de continuer la simulation soit en cliquant sur l'icône pas-à-pas (une flèche au dessus d'un x), soit en cliquant de nouveau sur le bouton Démarrer. Dans l'onglet Vue surveillance, l'état du PORTB est mis à jour à chaque passage au point d'arrêt, on constate bien que la boucle compte.