Le groupe PIC

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Sauter à la navigation Sauter à la recherche

<maintab>AccueilPIC</maintab>
<subtab>Premiers pasDocumentTutorielLibrairieDemoProjetprojet Pulse GeneratorTODO</subtab>

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 ouverts, 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 >>> Salon de discussion #pic <<< , 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.

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.

Vous pouvez directement programmer ces microcontrôleurs en langage C (voir en C++) avec les compilateurs associés à chaque famille via l'environnement de développement standard de Microchip répondant au nom de MPLAB® X IDE.

Mais un environnement similaire à Arduino est également disponible, celui-ci s'appel MPIDE, de même un projet Open-Source appelé Pinguino est également disponible.

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, voir des prêts de matériels.


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

→ 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

   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