J'ai enfin pu essayer un PIC 18F2455, équipé de tout ce qu'il faut pour construire des périphériques USB. La première séance a été consacrée à la découverte du chip, sans essayer l'USB pour le moment.

I — Connexion de la bête

J'ai voulu tester la programmation du PIC à l'aide du programmateur PICkit 2, qui permet par ailleurs de l'alimenter. A priori, la connexion est très simple : le PICkit 2 est équipé d'un connecteur à cinq broches ; il suffit connecter chacune d'entre elles à la patte correspondante du PIC. Si les broches Vpp, Vdd et Vss ne posent pas de problème (même nomenclature des deux côtés), j'ai en revanche eu un peu de mal à trouver la correspondance des broches « ISCP Data » et « ICSP Clock ». Je l'ai finalement trouvée dans le manuel du PIC :

  • pin 28, appelée PGD, correspond à « ICSP Data » ;
  • pin 27, appelée PGC, correspond à « ICSP Clock ».

Pour faire les tests, j'ai connecté des LEDs sur RB3 et RB4.

II — Programmation

Je me suis décidé à essayer de programmer le PIC en C avec C18 Student Edition. L'installation se passe sans problème et il s'intègre bien à MPLAB.

Pour programmer en C, il faut commencer par créer un projet. On crée un fichier .c ; on l'ajoute au projet, et on compile le projet avec Ctrl+F10 (lorsqu'on a juste un fichier .asm, on l'assemble avec Alt+F10).

Premier problème : MPLAB se plaint car il n'arrive pas à trouver le fichier p18f2455.h. Si cela se produit, il faut aller dans Project > Build Options > Project et mettre le bon répertoire dans ''include path" (le sous-répertoire h du répertoire d'installation de C18).

Une fois ce souci réglé, la compilation se passe sans problème. Mais on obtient un module objet, pas de fichier HEX. C'est logique, il faut linker le fichier objet issu de la compilation du fichier .c avec les bibliothèques de C18. Pour cela, il faut un linker script, fourni avec C18. Faire Project > Add files to project, et aller chercher le script 18f2455.lkr dans le sous-répertoire lkr de C18. On obtient alors un fichier HEX qu'il est possible d'envoyer sur le PIC.

III — Débogage

On commence par sélectionner le simulateur : Debugger > Select Tool > MPSIM

Ensuite, c'est un jeu d'enfant : Debugger > Run, puis Halt, et ensuite il suffit de survoler les variables pour voir s'afficher leur valeur...

IV — Tests grandeur nature

Après connexion du programmateur PICkit 2 sur la plaque à bidouille, la programmation s'est effectuée sans problème. Cependant, je n'ai pas réussi à obtenir des résultats vraiment fiables et reproductibles dès la première fois en raison de quelques bourdes.

La suite dans un second billet !