# WxPic
Programmeur pour Micro-controlleur PIC

Les Micro-controlleurs PIC sont des produits de la société Microchip

## Présentation

WxPic est le portage (approximatif) dans l'environnement de développement Open Source wxWidget, MinGw, Code::Blocks, wxSmith du programme WinPic de DL4YHF.

Dans cette version V1.0, WxPic n'a été testé qu'avec le PIC12F629 et un programmateur série. La probabilité de bugs résiduels avec les autres PIC et les autres interfaces gérées par le programme WinPic d'origine est très élevée. A noter que les PIC12F675, PIC16F630 and PIC16F676 étant très proches du PIC12F629, il est probable que WxPic est capable de les programmer avec succès. Le portage du code pour les 18Fxxxx n'a été ajouté qu'en V1.2 et a encore moins été testé !

WxPic a la même licence que WinPic: WxPic est un logiciel gratuit dont l'utilisation, la modification et la distribution est autorisée dans un but non lucratif.

WxPic inclus des librairies de WinRing0 version 1.3.1a. La Licence et les sources sont sur le site d'OpenLibSys

WXPIC EST FOURNI TEL QUEL SANS AUCUNE GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. LES RISQUES LIES A L'UTILISATION DE WXPIC ET DE SA DOCUMENTATION SONT EN TOTALITE A LA CHARGE DE L'UTILISATEUR.

La version la plus récente de WxPic et les sources correspondants se trouvent sur le site de WxPic.

Haut

## A quoi sert WxPic ?

En une phrase, WxPic permet, à l'aide d'un PC muni d'un adaptateur (programmateur), de programmer un micro-controlleur PIC. Plus en détail, il permet:

- de charger un fichier au format HEX tels que ceux générés par MPLAB l'outil de développement gratuit de Microchip. Ce fichier définit le contenu binaire de zones mémoire.
- de faire correspondre ces zones mémoire aux différentes plages de mémoire (code, données et configuration) d'un modèle de micro-controlleur PIC à choisir dans une liste de composants supportés.
- d'écrire dans le composant les données du fichier, en totalité ou en partie.
- de relire le contenu du micro-controlleur (si cela est permis par le composant) soit pour le comparer à la mémoire chargée, soit pour le charger en mémoire.
- d'examiner, éditer et sauvegarder au format HEX, le contenu de la mémoire chargée.

Et WxPic peut aussi aider à déboguer un Programmateur PIC fait maison en permettant de commander à la main les entrées du programmateur ainsi que d'ajuster les timing des séquences des opérations automatisées.

Haut

## Liste des Micro-controlleurs supportés

- PIC12F629, (testé)
- PIC12F675, PIC16F630, PIC16F676, (similaire au PIC testé)
- PIC16C84, PIC16F84
- PIC16C61, PIC16C71
- PIC16C710, PIC16C711
- PIC10F200/202/204/206
- PIC12F635, PIC12F675, PIC12F683
- PIC12F609, PIC12F615, PIC16F610, PIC16F616
- PIC16F193x, PIC16LF193x (non testé & programmation lente à améliorer)
- PIC16F627, PIC16F627A, PIC16F628, PIC16F628A
- PIC16F636, PIC16F648A
- PIC16F684, PIC16F688
- PIC16F73, PIC16F737, PIC16F74, PIC16F76, PIC16F77
- PIC16F818, PIC16F819
- PIC16F87, PIC16F88
- PIC16F873A...PIC16F877A
- PIC16F88
- dsPIC30F2010 -- dsPIC30F6010, dsPIC30F's
- Et d'autres en développant les fichiers de paramètres adéquats...

Le Support des PIC18Fxxxx de WinPic a été remis dans WxPic à partir de la version V1.2. Cela rajoute les composants suivants (cependant aucun n'a été testé avec WxPic à ce jour) :

- PIC18F2550 PIC18F4455 PIC18F4550 PIC18F2220 PIC18F2320 PIC18F2331 PIC18F2420 PIC18F2431 PIC18F2450 PIC18F2455 PIC18F2480 PIC18F2520 PIC18F2525 PIC18F2539 PIC18F2550 PIC18F2580 PIC18F2585 PIC18F2620 PIC18F2680 PIC18F442 PIC18F4220 PIC18F4320 PIC18F4331 PIC18F4420 PIC18F4431 PIC18F4450 PIC18F4480 PIC18F4520 PIC18F452 PIC18F4525 PIC18F4539 PIC18F4550 PIC18F458 PIC18F4580 PIC18F4585 PIC18F4620 PIC18F4680 PIC18F4685 PIC18F6527 PIC18F6585 PIC18F6680 PIC18F8490

Haut

## Système requis

Pour utiliser WxPic il faut:

- Un PC sous Windows XP ou Vista,
- Un programmateur de PIC parmi ceux supportés,
- Un port parallèle (LPT1 ou LPT2) ou série (COM1, COM2, ...) disponible compatible avec le programmateur PIC utilisé.

Les programmateurs supportés sont :

- Programmateur F629 (testé)
- COM84 Programmer (code testé avec le Programmateur F629)
- JDM (2) (code testé avec le Programmateur F629)
- PIP84 (non testé)
- Tait Programmer (non testé)
- Microchip AN589 (non testé)
- NOPPP (ou variante avec des pull-up) par Michael A. Covington (testé avec un PIC16F84A)

D'autres programmateurs basés soit sur l'interface série, soit sur l'interface parallèle, peuvent être supportés par l'utilisation d'un fichier texte de description de son interface.

Haut

## Arguments de la ligne de commande

Il est possible d'appeler WxPic dans un fichier de commande, or dans un environnement de programmation intégré (IDE) pour effectuer automatiquement une opération sans intervention manuelle. Par exemple il est possible de demander à WxPic de charger un programme depuis un fichier HEX, d'écrire son contenu dans un composant cible et de se terminer après celà.

Les options acceptées sur la ligne de commande sont les suivants :

<Tout texte ne commançant par une barre oblique ('/')>
  Considéré comme un nom de fichier. Si la ligne de commande contient l'option /p, ce fichier sera chargé en mémoire. Si le fichier ne peut pas être chargé, l'exécution de la ligne de commande est immédiatement arrêtée. Il est alors possible de rechercher manuellement le fichier.
  Si la ligne de commande contient le paramètre /r, c'est le nom du fichier HEX qui sera produit.
  Si aucune des option /p ou /r ne sont spécifiés, le fichier sera chargé en mémoire mais pas écrit dans le composant.
/p
  Programme le composant à partir du contenu de la mémoire.
/e
  Efface le composant. Il n'est pas nécessaire de spécifié cette option si l'option /p est spécifiée car le composant est automatiquement effacé avant la programmation.
/r
  Lit le contenu du composant et le charge en mémoire avant de l'écrire dans le fichier HEX spécifié.
/v
  Vérifie que le contenu du composant est identique à celui de la mémoire. Ceci n'est pas nécessaire avec l'option /p car la programmation est suivie par une vérification pour la plus par des composants.
/q
  Termine WxPic. Sans cette commande WxPic doit être arrêté manuellement même en mode ligne de commande.
/q=X
  Termine WxPic après X secondes d'attente pour laisser le temps de lire les messages.
/nodelay
  Habituellement, en mode ligne de commande, WxPic attend quelques secondes avant de programmer afin de laisser une chance d'annuler l'opération. Avec cette option /nodelay il n'y a pas délai avant le début de la programmation.
/overwrite
  Avec cette option WxPic ne demandera pas de confirmation avant d'écraser un fichier existant. A utiliser avec l'option /r si nécessaire.
/device=XXXX
  Spécifie le type du composant à utiliser. Sans cette option c'est le composant utilisé lors de la dernière session qui sera utilisé. Il ne doit pas y avoir d'espace dans l'option. Exemple: `/device=PIC16F628`
/config_word=XXXX
  Écrase la valeur du mot de configuration qui aurait été lue dans un fichier HEX par la valeur spécifiée. XXXX est la valeur spécifiée avec 4 caractères hexadécimaux. Il ne doit pas y avoir d'espace dans l'option.

Le déroulement des opérations de la ligne de commande peut être interrompu en appuyant sur Echap.

De plus pendant l'exécution de la ligne de commande, le menu principal reste actif. Certaines commandes à partir du menu peuvent interrompre l'exécution de la ligne de commande.

Quelques exemples de ligne de commande:

`WxPic keyer1.hex /p /q`
  Charge le fichier `keyer1.hex`, puis programme son contenu dans le composant connecté et termine WxPic.
`WxPic /nodelay c:\pic\my_src\keyer1.hex /p /q`
  A peu près la même chose, en spécifiant un chemin absolu pour le fichier cette fois et en évitant le délai de 3 secondes avant le début de la programmation qui permet d'interrompre la programmation avant qu'elle n'ait commencé.
`WxPic /overwrite /r "readout.hex" /q`
  Lit le contenu du composant et l'écrit dans le fichier HEX `readout.hex` en écrasant le fichier s'il existe déjà puis se termine.

Haut

## Interface Utilisateur

L'interface de WxPic est essentiellement constituée

- d'une barre de menus,
- d'une barre de boutons,
- de 7 pages accessibles grâce à leur onglet.

Haut

## Glossaire

Les termes utilisés dans l'interface utilisateur de WxPic et dans cette aide sont les suivants :

Composant
  Le micro-controlleur PIC utilisé.
Code
  Le code éxécutable (programme) du composant.
Données
  Les données non-volatiles du composant.
Configuration
  Le ou les mots de configuration ou plus généralement toutes les données de configuration et d'indentification.
Identification
  Les mots d'identification définis par l'utilisateur ainsi que celui du composant. Ce dernier indique le type du composant.
Mémoire
  Le tampon interne de WxPic qui conserve l'image du code, des données, et de la configuration du composant.
Fichier HEX
  Fichier texte décrivant le contenu de plages mémoire, généralement généré par l'outil de développement de Microchip MPLAB. WxPic peut aussi recréer ces fichiers en lisant les composants non protégés.
Programmateur
  Matériel permettant de lire et programmer un ou plusieurs modèles de composants.
Interface
  L'interface du programmateur par port série ou parallèle

Haut