P Launay 2006
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Table des matières
Comment graver des PICs à partir d'un PC
Configuration matériel pour graver des PICs vierges ou implanter un nouveau moniteur
La programmation ICSP en espagnol
Utilisation pratique, graver un nouveau moniteur
Création des fichiers moniteurs exécutables (hex)
Juan González Gómez et Andrés Prieto-Moreno Torres nous proposent :
Outils Matériel et logiciel pour le développement d'applications avec les Microcontroleurs PIC sous les plateformes GNU/Linux
Version originale en espagnol : http://www.iearobotics.com/personal/juan/publicaciones/art5/index.html
Vous y trouvrez les sources en lyx et aussi une version en html, pdf et une présentation en Openoffice, j'ai mis une version OpenOffice pres-pic-linux.odp dans le répertoire annexe et voici une partie sur la gravure des pics en français : gravure-pic-linux_fr.odp
Licencia : Se condecen permisos para usar, modificar y/o distribuir este artículo, siempre que se mantenga esta nota.
traduction autorisée en français :
Licence: Vous êtes autorisés à utiliser , modifier et/ou
distribuer cet article à condition de mettre cette note.
Cette méthode qui nécessite un programme spécifique Skypic_down (GPL) sera utlisée pour programmer des PICs vierges ou pour recharger un nouveau moniteur.
Pour la gravure de simple programme utilisateur dans un PIC, nous utiliserons un moniteur qui communique par la liaison série
Le cas de la gravure avec un programmateur spécifique est abandonné, il n'amène que des inconvénients :
Ne respecte pas le protocole de la liaison série RS232, contairement à Skypic-down
Nécessite une carte programmation spécifique, un transistor et 3 résistances seulement avec skypic-down.
Le moniteur complet comprend en fait le programme allégé de : sg-picp-pic16f876-skypic-0.asm
Vous le trouver dans la page : sg-picp.html
Une carte PIC sert de programmateur pour graver un autre PIC, en respectant la norme de la liaison série.
La carte de programmateur sert en fait à transformer une liaison série en entrée en liaison ICSP en sortie.
Attention, vous devrez changer le programme sg_picp16f877.inc lignes 69 à 71 selon votre carte programmateur et votre carte cible
J'ai défini
Nom Signal | Carte Programmateur "Graveuse" | Carte Cible "à graver" |
Clock(Horloge) | RB6 | RB6 |
Data (Données) | RB7 | RB7 |
RESET/PROG | RB5 | MCLR |
Cela correspond à la carte carte_pic16f877.sch, si vous réalisez 2 de ces cartes il faut relier le connecteur P5 (PLUS)de la carte programmateur "graveuse" au connecteur P1 (PORT B) de la carte cible à graver
Juan dans son fichier sg-picp-pic16f876-skypic-0.asm définit ligne 58 à 60
Nom Signal | Carte Programmateur "Graveuse" | Carte Cible "à graver" |
Clock(Horloge) | RB3 | RB6 |
Data (Données) | RB7 | RB7 |
RESET/PROG | RB4 | MCLR |
Cela correspond à la carte Skypic
De façon général, le site de IeaRobotics où vous trouverez toutes les informations utiles en espagnol : http://www.iearobotics.com/
Nous aurons besoin du logiciel skypic-down à l'adresse :
http://www.iearobotics.com/personal/juan/proyectos/skypic-down/skypic.html
Nous téléchargerons skypic-down-x.x.tgz voir sur le site
Si vous voulez compiler (non nécessaire), il vous faut les bibliothèques libstargate à l'adresse :
http://www.iearobotics.com/proyectos/stargate/clientes/libstargate/libstargate.html
libstargate_1.0.1-1_i386.deb : Paquete para Debian/Sarge. Librerías.
libstargate-dev_1.0.1-1_i386.deb : Paquete para Debian/Sarge. Paquete para desarrollo (ficheros .h)
Ces bibliothèques fonctionnent aussi sous Ubuntu Breezy, Dapper, Edgy.
Placer Skypic_down dans /usr/bin/ ou /usr/local/bin/
Les commandes du protocole ICSP
http://www.iearobotics.com/proyectos/cuadernos/ct4/comandos.html
ainsi que : http://www.iearobotics.com/proyectos/stargate/servidores/sg-picp/sg-picp.htm
Tout est expliqué dans les paragraphes en jaune :
Servicios específicos: services spécifiques et Ejemplos: exemples
En anglais la documentation de MICROCHIP sur la programmation ICSP en 264 pages
Avec un moniteur complet, lancer gtkterm -r '*', faire un reset sur la carte PIC, appuyer sur 7, pour lancer le programme qui dialogue avec skypic_down. Fermer alors gtkterm
Dans une console, se placer dans le répertoire où est le moniteur.
Lancer skypic_down moniteur.hex -com1 (pour un PIC16F87x)
ou lancer skypic_down moniteurA.hex -com1 -p (pour un PIC16F87xA)
(voir skypic-down --help pour de l'aide en espagnol évidemment !).
Le programme est alors gravé dans le PIC puis vérifié.
Vous trouverez dans le répertoire moniteur des fichiers readme.txt leeme.txt et lisezmoi.txt des explications sur les fichiers suivant le moniteur souhaité.
Pour créer les fichiers dans une console dans le répertoire monitor ou monitorA lancer le script python ./monitor(A).py