« Le groupe PIC » : différence entre les versions

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
 
(31 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
<maintab>[[Accueil|Home]][[Le groupe PIC]]</maintab><br>
<div class="subtab">[[Accueil]] - [[Le groupe PIC|PIC]]</div>
<subtab>[[Premiers pas]][[Installation et Configuration de MPLAB X IDE|Installation]][[Document]][[Tutoriel]][[Librairie]][[Demo]][[TODO]][[Pulse_Generator|Projet Pulse Generator]]</subtab>
<hr/>
<div class="subtab">[[Le_groupe_PIC_:_Premiers_pas|Premiers pas]] - [[Document]][[Tutoriel]] - [[Librairie]] - [[Demo]] - [[Projet]] - [[TODO]]</div>
<hr/>


== Introduction ==
== [[Image:Nuvola apps edu miscellaneous.png|40px|link=|]] Introduction ==
<center><font face="Comic Sans MS" color=#0000AA size=5>Vous êtes tous les bienvenus pour partager et échanger autour des microcontrôleurs PIC.</font></center>
<center><font face="Comic Sans MS" color=#0000AA size=5>Vous êtes tous les bienvenus pour partager et échanger autour des microcontrôleurs PIC.</font></center>




La mise en place de ce groupe doit permettre aux électroniciens de mutualiser leurs efforts de développement en partageant leurs bibliothèques de programmes et leurs savoir-faire.
La mise en place de ce groupe doit permettre aux électroniciens de notre réseau de mutualiser leurs efforts de développement en partageant leurs bibliothèques de programmes et leurs savoir-faire.


Cela peut ce faire de manière autonome, en participant à enrichir le SVN et le Wiki, pour ça il vous suffit d'avoir simplement vos identifiants et c'est tout. La participation est libre dans la mesure où le travail de chacun est respecté.
Cela peut ce faire de manière autonome, en participant à enrichir le SVN et le Wiki, pour ça il vous suffit d'avoir simplement vos identifiants et c'est tout. La participation est libre dans la mesure où le travail de chacun est respecté. Les Internautes pourront suivre le contenu de ce Wiki et profiter des nombreux documents libres, leurs remarques peuvent être envoyer par mail à l'animateur du groupe ;-)


Si vous avez besoin d'aide, n'hésitez pas a vous connecter sur l'IRC >>> '''Salon de discussion #pic''' <<<
Pour les électroniciens du réseau RdE, n'hésitez pas a vous connecter sur le chat IRC, pour discuter ou pour demander de l'aide.


Vous pouvez aussi demander une collaboration sur votre projet ou pour vous aider à mettre en place une nouvelle démo ou un tutoriel.
<center>>>> Salon de discussion IRC: '''<font face="courier new" color=#0000AA size=3>/join #pic</font>''' <<<</center>


[mailto:arnauld.biganzoli@inserm.fr?subject=Groupe%20PIC Contacter l'animateur du Groupe PIC par mail]
Vous pouvez aussi demander une collaboration sur votre projet ou pour vous aider à mettre en place une nouvelle démo ou un tutoriel, le groupe fonctionne par sollicitation, si vous avez de nouvelles idées ou des problématiques à lever.


[mailto:biganzoli@laplace.univ-tlse.fr?subject=Groupe%20PIC Contacter l'animateur du Groupe PIC par mail]


== Pages liées sur ce Wiki ==
 
*[[Premiers pas]]
== [[Image:Nuvola apps ksim.png|34px|link=|]] C'est quoi un PIC ? ==
Un PIC est un microcontrôleur du fabriquant [http://fr.wikipedia.org/wiki/Microchip_Technology ''Microchip Technology''] pouvant ce décliner sous [http://fr.wikipedia.org/wiki/Microcontr%C3%B4leur_PIC différentes architectures 8, 16 ou 32 bits] avec une grande variété de [http://gilles.berthome.free.fr/02-Syntheses/C-Traitement_signaux_logiques_et_ou_numeriques/Synthese_organisation_fonctionnelle_systeme_uC.pdf périphériques internes], voir l'outil "[http://www.microchip.com/maps/ Microchip Advanced Part Selector]".
 
Vous pouvez directement programmer ces microcontrôleurs en langage C, voir en C++. L'utilisation des outils de développement en version Free, comme [http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ les compilateurs associés à chaque famille], ou les outils de génération de code, utilisable via l'environnement de développement standard de Microchip répondant au nom de [http://www.microchip.com/pagehandler/en-us/family/mplabx/ MPLAB® X IDE], permet de nombreux développement couvrant la plupart de nos besoins, même exigeants.
[[Fichier:Mplabx v3-25.png|600px|center|link=http://www.microchip.com/mplab/mplab-ide-home|]]
 
Mais de nombreux autres environnements sont également disponible, comme [http://chipkit.net/started/learn-basics/mpide-quick-start-guide/ MPIDE] similaire à Arduino, de même le projet Open-Source appelé [http://www.pinguino.cc/ Pinguino], et également directement dans l'IDE Arduino en ajoutant les bibliothèques des cartes à base de microcontrôleur de chez Microchip, ou encore l'IDE et les différents langages supportés par les compilateurs de [http://www.mikroe.com/ MikroElektronika].
 
Voir aussi comment [http://circuitcellar.com/cc-blog/execute-open-source-arduino-code-in-a-pic-microcontroller-using-the-mplab-ide/#at_pco=smlre-1.0&at_si=536cdd6603600938&at_ab=per-2&at_pos=2&at_tot=4 exécuter du code Open-Source Arduino dans un microcontrôleur PIC en utilisant l'environnement MPLAB® X IDE]
 
Il existe une grande variété d'outils et de cartes de développement en fonction de l'architecture choisi, [http://ww1.microchip.com/downloads/en/DeviceDoc/30009962D.pdf par exemple voici un aperçu pour la famille des PIC 32 bits].
 
Le groupe est là aussi pour vous permettre de faire les bons choix, organiser des ateliers techniques en région, voir des prêts de matériels.
 
 
== [[Image:Farm-Fresh plenum.png|54px|link=|]] Action du groupe de travail ==
[[Interface microcontrôleur PIC32 et IHM Python]]
 
[[PulseGenerator_:_Presentation|Projet Pulse Generator]]
 
 
== [[Image:Nuvola_apps_kdict.png|48px|link=]] Pages liées sur ce Wiki ==
Attention, depuis les récentes version d'MPLAB X (dès octobre 2015), et l'utilisation des versions compilteurs :
*MPLAB XC8  Compiler v1.35 du 28/07/2015
*MPLAB XC16 Compiler v1.25 du 28/07/2015
*MPLAB XC32 Compiler v1.40 du 17/06/2015
l'ensemble des tutoriels pour microcontrôleurs PIC réalisés sur le SVN jusqu'en 2015 et l'utilisation des fichiers "Hardware Profile" et "Config Bits", sont à remplacer par l'utilisation des fichiers bsp (Board Support Packages) dans Microchip Libraries for Applications (MLA) ou MPLAB Harmony.
 
[[Fichier:Mplabx_2016-02.png|center|link=|]]
 
Voir :
* [[Wiki du Réseau des Electroniciens du CNRS:Actualités|Actualités et version actuelle des différents outils Microchip]]
*[[Le groupe PIC : Premiers pas|Premiers pas]]
::→ Environnement logiciel
::→ Environnement logiciel
::→ Recommandation
::→ Recommandation
:*[[Installation et Configuration de MPLAB X IDE|Installation de MPLAB® X IDE]]
:*[[Installation et Configuration de MPLAB X IDE|Installation de MPLAB® X IDE]]
:*[[MPLAB X/Créer un Projet|Créer un Projet]]
:*[[MPLAB X/Ouvrir un Projet|Ouvrir un projet existant et le modifier]]
:*[[MPLAB X/Configuration de Projet|Configuration de Projet]]
:*[[MPLAB X/Créer un Projet|Initiation pour la création d'un projet]]
:*[[MPLAB X/Configuration de Projet|Modèle pour la configuration de projet]]
*[[Document]]
*[[Document]]
::→ Liens vers les documents du Groupe PIC rédigés via Google Doc
::→ Liens vers les documents du Groupe PIC rédigés via Google Doc
*[[Tutoriel]]
*[[Tutoriel]]
:→ SVN: PIC18_Tutoriel
::→ SVN: PIC18_Tutoriel
:→ SVN: PIC32_Tutoriel
::→ SVN: PIC32_Tutoriel
*[[Librairie]]
*[[Librairie]]
*[[Demo]]
*[[Demo]]
:→ SVN: PIC18_Demo
::→ SVN: PIC18_Demo
:→ SVN: PIC32_Demo
::→ SVN: PIC32_Demo
*[[Projet]]
*[[Projet]]
:→ Liste des Projets du groupe sur le SVN
::→ Liste des Projets du groupe sur le SVN
:*[[PulseGenerator : Presentation|Projet Pulse Generator]]
::*[[PulseGenerator : A realiser|TODO]]
::*[[PulseGenerator : IHM face avant|IHM Hardware]]
::*[[PulseGenerator : Developpement cote PIC|Développement coté PIC]]
::**USB Device CDC vs UART
::*[[PulseGenerator : Liaison_SPI|Liaison SPI]]
::*[[Protocole SCPI]]
*[[TODO]]
*[[TODO]]
:→ Le Groupe PIC à besoin de vous ;-)
::→ Le Groupe PIC à besoin de vous ;-)
:→ Organisation de la structure des dossiers du Groupe
::→ Organisation de la structure des dossiers du Groupe
 
 
== [[Image:Nuvola filesystems folder.png|48px|link=]] Organisation des répertoires sur le SVN ==
Un travail est actuellement entrepris pour archiver les répertoires ci-dessous dans la zone de téléchargement et renouveler la racine du svn "<font face="Courier New" size="2" color=#000000>gt_pic</font>" (https://outils.electroniciens.cnrs.fr/gt_pic), si vous souhaité y participer contacter l'animateur du groupe.


Voici l'ancienne organisation du dossier "<font face="Courier New" size="2" color=#000000>electronique</font>" du SVN en attendant de trouver la manière d’organiser celui du gt_pic :


== Organisation des répertoires sur le SVN ==
     [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&path=%2FGroupe_PIC%2F&#af4d1bf12b19290722b02cbaf870d7646 Groupe_PIC]
     [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=Electronique&path=%2FGroupe_PIC%2F&#af4d1bf12b19290722b02cbaf870d7646 Groupe_PIC]
         |                            _
         |                            _
         +--- _Demo                    |
         +--- _Demo                    |
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=Electronique&path=%2FGroupe_PIC%2F_Librairie%2F&#ab09b0e55b21a0e5484c7ea71a6c8e9f4 _Librairie]              |
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&path=%2FGroupe_PIC%2F_Librairie%2F&#ab09b0e55b21a0e5484c7ea71a6c8e9f4 _Librairie]              |
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=Electronique&path=%2FGroupe_PIC%2F_Interface_Utilisateur%2F&#a7c78bf6a58d60d31a71e9d59d85b642a _Interface_Utilisateur]  |_ Répertoires communs aux différentes architectures PIC
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&path=%2FGroupe_PIC%2F_Interface_Utilisateur%2F&#a7c78bf6a58d60d31a71e9d59d85b642a _Interface_Utilisateur]  |_ Répertoires communs aux différentes architectures PIC
        +--- _Microchip                |
         +--- _Ressource              _|
         +--- _Ressource              _|
         |                            _
         |                            _
Ligne 53 : Ligne 101 :
         +--- PIC18_Projet              |
         +--- PIC18_Projet              |
         +--- PIC18_Template            |
         +--- PIC18_Template            |
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=Electronique&path=%2FGroupe_PIC%2FPIC18_Tutoriel%2F&#a29a2263756f9bbfda3e297f6b1856595 PIC18_Tutoriel]        _|
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&path=%2FGroupe_PIC%2FPIC18_Tutoriel%2F&#a29a2263756f9bbfda3e297f6b1856595 PIC18_Tutoriel]        _|
         |                            _
         |                            _
         +--- PIC32_Demo                |
         +--- PIC32_Demo                |
Ligne 60 : Ligne 108 :
         +--- PIC32_Projet              |
         +--- PIC32_Projet              |
         +--- PIC32_Template            |
         +--- PIC32_Template            |
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=Electronique&path=%2FGroupe_PIC%2FPIC32_Tutoriel%2F&#ae429bdc975d256e754eae22ac91d09f4 PIC32_Tutoriel]        _|
         +--- [https://outils.electroniciens.cnrs.fr/websvn/listing.php?repname=electronique&path=%2FGroupe_PIC%2FPIC32_Tutoriel%2F&#ae429bdc975d256e754eae22ac91d09f4 PIC32_Tutoriel]        _|
Les dossiers '''"_Demo"''' et '''"PICxx_Demo"''' contiennent des projets mettant en oeuvre les librairies de composants externes, présentés lors de séminaire ou bien réalisés dans le but de participer à la veille technologique du réseau.
Les dossiers '''"_Demo"''' et '''"PICxx_Demo"''' contiennent des projets mettant en oeuvre les librairies de composants externes, présentés lors de séminaire ou bien réalisés dans le but de participer à la veille technologique du réseau.




Pour plus de renseignement sur l'organisation des dossiers dans le SVN, voir les recommandations sur la page "[[Premiers pas]]".
Pour plus de renseignement sur l'organisation des dossiers dans le SVN, voir les recommandations sur la page "[[Le groupe PIC : Premiers pas|Premiers pas]]".




Ligne 74 : Ligne 122 :
<font face="Comic Sans MS" color=#00000F size=3>Merci à tous et bon développement ;-)</font>
<font face="Comic Sans MS" color=#00000F size=3>Merci à tous et bon développement ;-)</font>


== [[Image:Nuvola_apps_kdict.png|48px|link=]] Convention de dénomination et organisation des répertoires ==
Après l'installation de la version v2014-07-22 de [http://www.microchip.com/pagehandler/en-us/devtools/mla/home.html Microchip Libraries for Applications (MLA)], vous pouvez lire dans le fichier <font face="Courier New" size="2" color=#000000>C:\microchip\mla\v2014_07_22\doc\release_notes_mla.htm</font>, le chapitre "'''''4.  Current MLA vs. Legacy MLA'''''".
Voici quelques nouveautés de cette rentrée 2014 et la traduction du premier item.
a) '''Nouveau dossier, convention de dénomination et d'organisation des répertoires de travail''':
La raison de ce changement est d'éviter d'avoir des espaces et le mélange de lettres majuscules et minuscules dans les noms des fichiers source et des chemins d'accès. Les espaces et les caractères spéciaux doivent être abandonnés pour une utilisation optimum d'MPLAB® X, en raison de la faible compatibilité des chaînes d'outils. La casse des lettres est maintenant toujours en minuscules, excepté pour les fichiers d'assemblage nécessitant un prétraitement en C, qui doit utiliser l'extension S majuscule. Ce guide permet de réduire les erreurs de casse entre #include nom_fichier et le nom du fichier lui-même, et aussi lors de la configuration des chemins des projets. Le système d'exploitation Windows est insensible à la casse, mais Linux lui est sensible à la casse. Ci-dessous, un comparatif entre l'ancienne et l'actuelle structure de MLA:
<table border="0" cellspacing="0" cellpadding="0" style="font-family:'Times New Roman';margin-left:5.4pt;border-collapse:collapse"><tr><td width="315" valign="top" style="width:189pt;border-style:solid solid none;border-top-color:rgb(79,129,189);border-right-color:rgb(79,129,189);border-left-color:rgb(79,129,189);border-top-width:1pt;border-right-width:1pt;border-left-width:1pt;padding:0in 5.4pt;background:rgb(79,129,189)"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><b><span style="font-family:Arial,sans-serif;color:white">Legacy MLA</span></b></p></td><td width="328" valign="top" style="width:196.8pt;border-style:solid solid none none;border-top-color:rgb(79,129,189);border-top-width:1pt;border-right-color:rgb(79,129,189);border-right-width:1pt;padding:0in 5.4pt;background:rgb(79,129,189)"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><b><span style="font-family:Arial,sans-serif;color:white">Current MLA</span></b></p></td></tr><tr><td width="315" valign="top" style="width:189pt;border:1pt solid rgb(79,129,189);padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/Microchip</span></p></td><td width="328" valign="top" style="width:196.8pt;border-style:solid solid solid none;border-top-color:rgb(79,129,189);border-right-color:rgb(79,129,189);border-bottom-color:rgb(79,129,189);border-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/framework</span></p></td></tr><tr><td width="315" valign="top" style="width:189pt;border-style:none solid solid;border-right-color:rgb(79,129,189);border-bottom-color:rgb(79,129,189);border-left-color:rgb(79,129,189);border-right-width:1pt;border-bottom-width:1pt;border-left-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/Microchip/<wbr>Include</span></p></td><td width="328" valign="top" style="width:196.8pt;border-style:none solid solid none;border-bottom-color:rgb(79,129,189);border-bottom-width:1pt;border-right-color:rgb(79,129,189);border-right-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/framework</span></p></td></tr><tr><td width="315" valign="top" style="width:189pt;border-style:none solid;border-left-color:rgb(79,129,189);border-left-width:1pt;border-right-color:rgb(79,129,189);border-right-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/Microchip/Help</span></p></td><td width="328" valign="top" style="width:196.8pt;border-style:none solid none none;border-right-color:rgb(79,129,189);border-right-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/doc</span></p></td></tr><tr><td width="315" valign="top" style="width:189pt;border:1pt solid rgb(79,129,189);padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/[demos]</span></p></td><td width="328" valign="top" style="width:196.8pt;border-style:solid solid solid none;border-top-color:rgb(79,129,189);border-right-color:rgb(79,129,189);border-bottom-color:rgb(79,129,189);border-top-width:1pt;border-right-width:1pt;border-bottom-width:1pt;padding:0in 5.4pt"><p class="MsoNormal" style="margin:5pt 0in;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-family:Arial,sans-serif">&lt;mla_install&gt;/apps/[demos]</span></p></td></tr></table>
Cette nouvelle structure de dossiers n'est pas seulement pour MLA, elle est de plus en plus utilisée dans les autres outils logiciels distribués par Microchip. Par exemple dans les démonstrations autour de la carte Explorer16, que vous pouvez télécharger à partir de www.microchip.com/Explorer16. Des explications complémentaires sur l'organisation des fichiers et dossiers se trouvent dans <mla_install>/doc/help_mla_getting_started.
Voir <font face="Courier New" size="2" color=#000000>C:\microchip\mla\v2014_07_22\doc\help_mla_getting_started.pdf</font>, page 6.
c) GenericTypeDefs.h usage is superseded by the use of C99 fixed width data types:
Usage of type definitions in GenericTypeDefs.h, such as BYTE, WORD, DWORD, is now superseded by C99 fixed width data types such as uint8_t, uint16_t, uint32_t, etc. Include <stdint.h> to use the C99 fixed width data types. The reason for this change is simply a shift to use an existing standard definition, which helps avoid type conflict when combining MLA firmware with other non-MLA firmware.
d) Compiler.h is no longer distributed:
Compiler.h used to serve as a common file to normalize compiler differences. This is now changed to be handled by each application specific build abstraction files.
e) HardwareProfile.h is superseded by system.c, system.h and system_config.h:
The reason for this change is, not all hardware abstraction was possible with just a header file. So a C file is introduced to increase the abstraction flexibility. This in turn helps reduce the number of #if #else seen in the Legacy MLA examples. MPLAB X project organization and the utilization of the MPLAB X build configuration and file exclusion features also contributes to the reduction in the #if #else usages.
i) API changes
There a number of reasons that lead to API changes. One is a shift to adopt a common naming convention to avoid long term naming collision. The naming convention is to go from module to sub-module, and to features/actions. As an example, a common macro in Legacy MLA GetPeripheralClock() is now SYS_CLK_FrequencyPeripheralGet(). Another reason is, when enhancing library capability and features, certain API changes are unavoidable.


{{PIC}}
{{PIC}}

Version actuelle datée du 25 juin 2019 à 16:46



Nuvola apps edu miscellaneous.png Introduction

Vous êtes tous les bienvenus pour partager et échanger autour des microcontrôleurs PIC.


La mise en place de ce groupe doit permettre aux électroniciens de notre réseau de mutualiser leurs efforts de développement en partageant leurs bibliothèques de programmes et leurs savoir-faire.

Cela peut ce faire de manière autonome, en participant à enrichir le SVN et le Wiki, pour ça il vous suffit d'avoir simplement vos identifiants et c'est tout. La participation est libre dans la mesure où le travail de chacun est respecté. Les Internautes pourront suivre le contenu de ce Wiki et profiter des nombreux documents libres, leurs remarques peuvent être envoyer par mail à l'animateur du groupe ;-)

Pour les électroniciens du réseau RdE, n'hésitez pas a vous connecter sur le chat IRC, pour discuter ou pour demander de l'aide.

>>> Salon de discussion IRC: /join #pic <<<

Vous pouvez aussi demander une collaboration sur votre projet ou pour vous aider à mettre en place une nouvelle démo ou un tutoriel, le groupe fonctionne par sollicitation, si vous avez de nouvelles idées ou des problématiques à lever.

Contacter l'animateur du Groupe PIC par mail


Nuvola apps ksim.png C'est quoi un PIC ?

Un PIC est un microcontrôleur du fabriquant Microchip Technology pouvant ce décliner sous différentes architectures 8, 16 ou 32 bits avec une grande variété de périphériques internes, voir l'outil "Microchip Advanced Part Selector".

Vous pouvez directement programmer ces microcontrôleurs en langage C, voir en C++. L'utilisation des outils de développement en version Free, comme les compilateurs associés à chaque famille, ou les outils de génération de code, utilisable via l'environnement de développement standard de Microchip répondant au nom de MPLAB® X IDE, permet de nombreux développement couvrant la plupart de nos besoins, même exigeants.

Mplabx v3-25.png

Mais de nombreux autres environnements sont également disponible, comme MPIDE similaire à Arduino, de même le projet Open-Source appelé Pinguino, et également directement dans l'IDE Arduino en ajoutant les bibliothèques des cartes à base de microcontrôleur de chez Microchip, ou encore l'IDE et les différents langages supportés par les compilateurs de MikroElektronika.

Voir aussi comment exécuter du code Open-Source Arduino dans un microcontrôleur PIC en utilisant l'environnement MPLAB® X IDE

Il existe une grande variété d'outils et de cartes de développement en fonction de l'architecture choisi, par exemple voici un aperçu pour la famille des PIC 32 bits.

Le groupe est là aussi pour vous permettre de faire les bons choix, organiser des ateliers techniques en région, voir des prêts de matériels.


Farm-Fresh plenum.png Action du groupe de travail

Interface microcontrôleur PIC32 et IHM Python

Projet Pulse Generator


Nuvola apps kdict.png Pages liées sur ce Wiki

Attention, depuis les récentes version d'MPLAB X (dès octobre 2015), et l'utilisation des versions compilteurs :

  • MPLAB XC8 Compiler v1.35 du 28/07/2015
  • MPLAB XC16 Compiler v1.25 du 28/07/2015
  • MPLAB XC32 Compiler v1.40 du 17/06/2015

l'ensemble des tutoriels pour microcontrôleurs PIC réalisés sur le SVN jusqu'en 2015 et l'utilisation des fichiers "Hardware Profile" et "Config Bits", sont à remplacer par l'utilisation des fichiers bsp (Board Support Packages) dans Microchip Libraries for Applications (MLA) ou MPLAB Harmony.

Mplabx 2016-02.png

Voir :

→ Environnement logiciel
→ Recommandation
→ Liens vers les documents du Groupe PIC rédigés via Google Doc
→ SVN: PIC18_Tutoriel
→ SVN: PIC32_Tutoriel
→ SVN: PIC18_Demo
→ SVN: PIC32_Demo
→ Liste des Projets du groupe sur le SVN
→ Le Groupe PIC à besoin de vous ;-)
→ Organisation de la structure des dossiers du Groupe


Nuvola filesystems folder.png Organisation des répertoires sur le SVN

Un travail est actuellement entrepris pour archiver les répertoires ci-dessous dans la zone de téléchargement et renouveler la racine du svn "gt_pic" (https://outils.electroniciens.cnrs.fr/gt_pic), si vous souhaité y participer contacter l'animateur du groupe.

Voici l'ancienne organisation du dossier "electronique" du SVN en attendant de trouver la manière d’organiser celui du gt_pic :

   Groupe_PIC
       |                             _
       +--- _Demo                     |
       +--- _Librairie              |
       +--- _Interface_Utilisateur  |_ Répertoires communs aux différentes architectures PIC
       +--- _Microchip                |
       +--- _Ressource               _|
       |                             _
       +--- PIC18_Demo                |
       +--- PIC18_Datasheet           |
       +--- PIC18_Hardware            |_ Dossiers pour architecture PIC 8 bits
       +--- PIC18_Projet              |
       +--- PIC18_Template            |
       +--- PIC18_Tutoriel         _|
       |                             _
       +--- PIC32_Demo                |
       +--- PIC32_Datasheet           |
       +--- PIC32_Hardware            |_ Dossiers pour architecture PIC 32 bits
       +--- PIC32_Projet              |
       +--- PIC32_Template            |
       +--- PIC32_Tutoriel         _|

Les dossiers "_Demo" et "PICxx_Demo" contiennent des projets mettant en oeuvre les librairies de composants externes, présentés lors de séminaire ou bien réalisés dans le but de participer à la veille technologique du réseau.


Pour plus de renseignement sur l'organisation des dossiers dans le SVN, voir les recommandations sur la page "Premiers pas".


Si vous souhaitez contribuer au groupe PIC du Réseau des Électroniciens et que vous avez besoin d'un peu d'assistance, vous pouvez contacter l'animateur du groupe Arnauld Biganzoli.

Des formations sur mesure de différents niveaux peuvent aussi être organisées dans le cadre du réseau des électroniciens, pour cela il suffit d'en faire la demande auprès de votre comité de pilotage régional ou de votre service de formation permanente.


Merci à tous et bon développement ;-)


Nuvola apps kdict.png Convention de dénomination et organisation des répertoires

Après l'installation de la version v2014-07-22 de Microchip Libraries for Applications (MLA), vous pouvez lire dans le fichier C:\microchip\mla\v2014_07_22\doc\release_notes_mla.htm, le chapitre "4. Current MLA vs. Legacy MLA".

Voici quelques nouveautés de cette rentrée 2014 et la traduction du premier item.


a) Nouveau dossier, convention de dénomination et d'organisation des répertoires de travail:

La raison de ce changement est d'éviter d'avoir des espaces et le mélange de lettres majuscules et minuscules dans les noms des fichiers source et des chemins d'accès. Les espaces et les caractères spéciaux doivent être abandonnés pour une utilisation optimum d'MPLAB® X, en raison de la faible compatibilité des chaînes d'outils. La casse des lettres est maintenant toujours en minuscules, excepté pour les fichiers d'assemblage nécessitant un prétraitement en C, qui doit utiliser l'extension S majuscule. Ce guide permet de réduire les erreurs de casse entre #include nom_fichier et le nom du fichier lui-même, et aussi lors de la configuration des chemins des projets. Le système d'exploitation Windows est insensible à la casse, mais Linux lui est sensible à la casse. Ci-dessous, un comparatif entre l'ancienne et l'actuelle structure de MLA:

Legacy MLA

Current MLA

<mla_install>/Microchip

<mla_install>/framework

<mla_install>/Microchip/Include

<mla_install>/framework

<mla_install>/Microchip/Help

<mla_install>/doc

<mla_install>/[demos]

<mla_install>/apps/[demos]


Cette nouvelle structure de dossiers n'est pas seulement pour MLA, elle est de plus en plus utilisée dans les autres outils logiciels distribués par Microchip. Par exemple dans les démonstrations autour de la carte Explorer16, que vous pouvez télécharger à partir de www.microchip.com/Explorer16. Des explications complémentaires sur l'organisation des fichiers et dossiers se trouvent dans <mla_install>/doc/help_mla_getting_started. Voir C:\microchip\mla\v2014_07_22\doc\help_mla_getting_started.pdf, page 6.


c) GenericTypeDefs.h usage is superseded by the use of C99 fixed width data types:

Usage of type definitions in GenericTypeDefs.h, such as BYTE, WORD, DWORD, is now superseded by C99 fixed width data types such as uint8_t, uint16_t, uint32_t, etc. Include <stdint.h> to use the C99 fixed width data types. The reason for this change is simply a shift to use an existing standard definition, which helps avoid type conflict when combining MLA firmware with other non-MLA firmware.

d) Compiler.h is no longer distributed:

Compiler.h used to serve as a common file to normalize compiler differences. This is now changed to be handled by each application specific build abstraction files.

e) HardwareProfile.h is superseded by system.c, system.h and system_config.h:

The reason for this change is, not all hardware abstraction was possible with just a header file. So a C file is introduced to increase the abstraction flexibility. This in turn helps reduce the number of #if #else seen in the Legacy MLA examples. MPLAB X project organization and the utilization of the MPLAB X build configuration and file exclusion features also contributes to the reduction in the #if #else usages.

i) API changes

There a number of reasons that lead to API changes. One is a shift to adopt a common naming convention to avoid long term naming collision. The naming convention is to go from module to sub-module, and to features/actions. As an example, a common macro in Legacy MLA GetPeripheralClock() is now SYS_CLK_FrequencyPeripheralGet(). Another reason is, when enhancing library capability and features, certain API changes are unavoidable.

=== Le groupe PIC ===
Présentation du Groupe de Travail   >Premiers pas  >Document   >Tutoriel   >Librairie   >Demo   >Projet   >TODO