<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.causeries-numeriques.fr/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Causeries numériques - microchip</title>
  <link>http://www.causeries-numeriques.fr/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 07 Feb 2012 14:32:21 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Installation de Piklab sous ubuntu</title>
    <link>http://www.causeries-numeriques.fr/post/2007/09/30/Instalation-de-Piklab-sous-ubuntu</link>
    <guid isPermaLink="false">urn:md5:062db3c557fe6feed02b08548ca0dfc0</guid>
    <pubDate>Sun, 30 Sep 2007 14:43:00 +0200</pubDate>
    <dc:creator>jb</dc:creator>
        <category>Des pingouins et des hommes</category>
        <category>microchip</category><category>pic</category><category>ubuntu</category>    
    <description>&lt;p&gt;Les microcontrôleurs Microchip PIC sont beaucoup utilisés par l'amateur d'électronique (avec les Atmel AVR) . La suite de développement fournie par Microchip est très efficace mais ne fonctionne pas sous Linux et ne propose pas de compilateur C en standard. Nous allons faire d'une pierre deux coups en installant Piklab qui permet de compiler (en assembleur mais aussi en C via SDCC), simuler et programmer des PIC sous Ubuntu.&lt;/p&gt;    &lt;h3&gt;Installation&lt;/h3&gt;


&lt;h4&gt;Pré requis&lt;/h4&gt;


&lt;p&gt;Avant d'installer Piklab, quelques paquets doivent être installés&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alien&lt;/code&gt; qui permet de convertir un paquet &lt;code&gt;rpm&lt;/code&gt; (paquet RedHat et compatibles) en un paquet &lt;code&gt;deb&lt;/code&gt; (debian et compatibles)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gputils&lt;/code&gt; et &lt;code&gt;gpsim&lt;/code&gt; sont l'assembleur et le simulateur de PIC&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdcc&lt;/code&gt; est un compilateur C pour de nombreux microcontrôleurs dont les PICs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour les installer, soit la ligne de commande  (&lt;code&gt;apt-get&lt;/code&gt; ou &lt;code&gt;aptitude&lt;/code&gt;) soit Synaptic.&lt;/p&gt;


&lt;p&gt;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.&lt;/p&gt;


&lt;h4&gt;Installation de Piklab&lt;/h4&gt;


&lt;p&gt;Pour l'installation, la manœuvre est expliqué en anglais sur le &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=123481&quot;&gt;forum ubuntu&lt;/a&gt;.
Télécharger le fichier &lt;code&gt;piklab-0.14.5-1mdv2007.0.i586.rpm&lt;/code&gt; sur &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=138852&quot;&gt;sourceforge&lt;/a&gt;. Ensuite le transformer en paquet &lt;code&gt;deb&lt;/code&gt; à l'aide de la commande suivante&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
sudo alien piklab-0.14.5-1mdv2007.0.i586.rpm
&lt;/pre&gt;

&lt;p&gt;Puis l'installer avec&lt;/p&gt;
&lt;pre&gt;
sudo dpkg -i piklab_0.14.5-2_i386.deb
&lt;/pre&gt;


&lt;p&gt;Ensuite il reste à construire des liens vers deux librairies (edit du 17/10/2007&amp;nbsp;: éventuellement le numéro de version peut changer)&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
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
&lt;/pre&gt;


&lt;p&gt;Ensuite pour lancer Piklab, soit la ligne de commande (&lt;code&gt;piklab&lt;/code&gt;), soit le menu &lt;em&gt;Applications&lt;/em&gt;, &lt;em&gt;Développement&lt;/em&gt;, &lt;em&gt;Piklab&lt;/em&gt;.&lt;/p&gt;



&lt;h3&gt;Premier projet en C&lt;/h3&gt;


&lt;h4&gt;Création du projet&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.causeries-numeriques.fr/public/photos/20070930/ConfigProjet.jpg&quot;&gt;&lt;img src=&quot;http://www.causeries-numeriques.fr/public/photos/20070930/.ConfigProjet_s.jpg&quot; alt=&quot;Configuration&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/a&gt;
Dans le menu &lt;em&gt;projet&lt;/em&gt;, choisir &lt;em&gt;nouveau projet&lt;/em&gt;. 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 &lt;em&gt;Next&lt;/em&gt;, une nouvelle boite apparait. Elle permet d'ajouter des fichiers existants au projet ou de choisir un fichier source modèle (un &lt;em&gt;template&lt;/em&gt;). C'est cette solution que nous allons retenir en cliquant sur &lt;em&gt;Finish&lt;/em&gt;. Un fichier &lt;code&gt;.c&lt;/code&gt; est crée avec une configuration par défaut. Nous allons maintenant retoucher la configuration des fusibles du PIC.&lt;/p&gt;


&lt;h4&gt;Configuration des fusibles&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.causeries-numeriques.fr/public/photos/20070930/ConfigFusibles.jpg&quot;&gt;&lt;img src=&quot;http://www.causeries-numeriques.fr/public/photos/20070930/.ConfigFusibles_s.jpg&quot; alt=&quot;Configuration fusibles&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/a&gt;
Le menu &lt;em&gt;Tools&lt;/em&gt;  propose un assistant pour construire la configuration des fusibles en cliquant sur &lt;em&gt;Générateur de configuration...&lt;/em&gt;. La boite de dialogue ci-contre apparait. Pour notre test, j'ai choisi de modifier le type d'horloge en passant &lt;code&gt;FOSC&lt;/code&gt; à &lt;em&gt;Quartz/résonateur(0001)&lt;/em&gt;. 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.&lt;/p&gt;


&lt;h4&gt;Écriture du programme&lt;/h4&gt;

&lt;p&gt;Là on va faire simple&amp;nbsp;! Dans la fonction &lt;code&gt;main&lt;/code&gt;, on va simplement ajouter un compteur dont on envoie la valeur sur le PORTB&amp;nbsp;:&lt;/p&gt;
&lt;code class=&quot;c&quot;&gt;&lt;span style=&quot;color: #993333;&quot;&gt;void&lt;/span&gt; main&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #993333;&quot;&gt;char&lt;/span&gt; i;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;i=&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;;i&amp;lt;=&lt;span style=&quot;color: #cc66cc;&quot;&gt;255&lt;/span&gt;;i++&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PORTB=i;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;


&lt;h4&gt;Compilation et simulation&lt;/h4&gt;

&lt;p&gt;Pour construire l'ensemble du projet, appuyer sur &lt;code&gt;F8&lt;/code&gt; (ou aller dans le menu &lt;em&gt;Construire&lt;/em&gt; puis &lt;em&gt;Construire le projet&lt;/em&gt;). 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 &lt;code&gt;.asm&lt;/code&gt; qui contient le code assembleur obtenu.&lt;/p&gt;


&lt;p&gt;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.&lt;/p&gt;


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


&lt;p&gt;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 &lt;code&gt;.asm&lt;/code&gt; en double cliquant dessus, puis se placer sur une ligne de code (par exemple &lt;code&gt;MOVF	r0x20,W&lt;/code&gt;) et cliquer du bouton droit (le menu &lt;em&gt;Définir un point d'arrêt&lt;/em&gt; apparait).&lt;/p&gt;


&lt;p&gt;Pour lancer la simulation, aller dans le menu &lt;em&gt;Débogueur&lt;/em&gt; puis &lt;em&gt;Démarrer&lt;/em&gt; (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 &lt;em&gt;Démarrer&lt;/em&gt;.
Dans l'onglet &lt;em&gt;Vue surveillance&lt;/em&gt;, l'état du PORTB est mis à jour à chaque passage au point d'arrêt, on constate bien que la boucle compte.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.causeries-numeriques.fr/post/2007/09/30/Instalation-de-Piklab-sous-ubuntu#comment-form</comments>
      <wfw:comment>http://www.causeries-numeriques.fr/post/2007/09/30/Instalation-de-Piklab-sous-ubuntu#comment-form</wfw:comment>
      <wfw:commentRss>http://www.causeries-numeriques.fr/feed/rss2/comments/24</wfw:commentRss>
      </item>
    
</channel>
</rss>
