Le groupe PIC : Premiers pas

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Aller à : navigation, rechercher


Voir également d'autres pages du wiki: Document, Tutoriel, Librairie, Demo


Environnement logiciel

L'installation et la configuration par défaut de MPLAB® X IDE ne pose pas de problème et permet un développement sous Windows, Linux ou Mac.

MCHP MPLAB Integrated Toolset StartPage.jpg

MPLAB® X Free Downloads

MPLAB® X IDE Wiki

Microchip Forums: Frequently Asked Questions about PIC32

Quick Guide to Microchip Development Tools

Embedded Code Source

Parcourir les notes d'applications

PIC32 MX1/MX2 Microcontrollers

Recommandation

  • Utilisez la configuration de la valeur de la tabulation en 4 espaces (valeur par défaut dans MPLAB® X):
 [Windows] Valeur par défaut dans l'onglet : Tools > Options > Editor > Formatting
 [Mac OSX] Valeur par défaut dans l'onglet : mplab_ide > Préférences > Editor > Formatting
  • (Valable jusqu'à juillet 2014) Suivez la convention de nommage ci-dessous pour organiser votre dossier de projet, cela permet de suivre la charte proposée par Microchip et contribue également à rendre la navigation dans les différents projets plus facile, voir la page "Créer un Projet":
   Nom_du_Projet
       |
       +--- Documentation    (Recommandé --> lien, Datasheet, Reference Manual, etc...)
       +--- Firmware         (placer vos fichiers sources .c et .h ici)
       |        +--- MPLAB.X (n'ajouter aucun fichier source dans ce dossier)
       +--- Hardware         (Optionnel --> fichier CAO de la carte électronique)
       +--- Software         (Optionnel --> interface logiciel sur PC communicant avec le système embarqué)
ProjetGpPIC.jpg
  • Créer un fichier "_Read_Me.TXT" à la racine de votre projet en suivant le modèle proposé (voir le dossier "Template") afin de décrire votre projet, ces caractéristiques et ces objectifs
    • Les membres participants au projet (Acteur principale, Contributeur)
    • Description
    • Objectif
    • Evolution des différentes versions du projet
    • Fonctionnalité
    • Carte utilisée pour le projet
    • Liens Internet
  • Lors de la création d'un projet dans MPLAB® X IDE, toujours nommer le dossier système du projet "MPLAB.X"
  • Ne pas placer les fichiers sources du projet dans le répertoire "MPLAB.X", mais juste au niveau supérieur, soit le dossier "Firmware"
    Les 2 derniers points permettent de copier le dossier d'un projet pour en créer un nouveau.
    Il ne restera plus qu'à ouvrir le nouveau projet dans MPLAB® X IDE et de faire un clic droit sur le nom du projet (fenêtre "Projects") en sélectionnant la commande "Rename..." pour lui donner un nouveau nom ( /!\ Ne pas renommer "Project Folder" )
  • Nommer le fichier principal avec la convention suivante: _main_NomDuProjet_v01r00.c, v01 indique la version et r00 le numéro de la révision
    Lors d'améliorations mineurs, on incrémentera le numéro de révision en conservant le nouveau fichier _main_NomDuProjet_v01r01.c dans le même dossier "Firmware_v01".
    Le changement de version, désigne une modification de la fonctionnalité de votre programme, on changera alors de répertoire vers "Firmware_v02".
  • (Valable jusqu'à juillet 2014) Dans le gestionnaire de projet de MPLAB® X IDE, vous pouvez définir 2 dossiers logiques "Logical Folder" pour organiser les fichiers .h suivant:
   Common                              (Optionnel :)
      +--- common.h                    (fichier optionnel dans _Librairie)
      +--- Compiler.h                  (fichier dans _Librairie/Microchip/Include)
      +--- GenericTypeDefs.h           (fichier dans _Librairie/Microchip/Include)
   
   HW Configs
      +--- HWP_PIC18_v2_3_4550.h       (fichier dans Firmware/Configs)
      +--- HWP_PIC32_CHIPKIT_PRO_MX7.h (fichier dans Firmware/Configs)
  • Afin de faciliter, la mise en oeuvre d'un nouveau projet, vous pouvez copier depuis le dossier "_Ressource", le dossier "Configs" qui contient l'initialisation des fusibles de configuration de microcontrôleur, ainsi que l'ensemble des définitions propres à la carte électronique utilisée. Vous pourrez alors coller l'ensemble de ce dossier dans le répertoire "Firmware" de votre projet ou si vous n'êtes intéressé que par une carte dédiée uniquement pour votre projet, coller simplement le fichier HWP_PICFAMILY_BOARDNAME.h.
    Vous pourrez alors modifier à votre guise dans cette copie les particularités de votre projet, comme la définition des valeurs "SYS_FREQ", "GetSystemClock()", "GetInstructionClock()" et "GetPeripheralClock()", ainsi que la configuration des fusibles du PIC correspondant.
    Pour vous aider dans la configuration des fusibles, vous trouverez dans le répertoire "_Ressource/ConfigBits", un ensemble de fichiers de configuration.
  • Le dossier "Firmware" contiendra tous les autres fichiers sources .c et .h de votre projet.
  • Ne pas déplacer les fichiers sources des librairies. Pour les utiliser, faites simplement un ajout dans le gestionnaire de projet de MPLAB® X IDE.
    Clic droit sur le dossier dans la fenêtre "Projects", puis "Add Existing Item..."
  • Lors de l'ajout d'un nouveau projet MPLAB® X IDE sur le SVN, faire la commande SVN + ADD et décocher les répertoires:
    • build
    • dist
  • Ecrire les noms des constantes en majuscule
    Exemple: pour le taux de transmission souhaité sur le port série
    #define DESIRED_BAUDRATE (9600) // The desired Baud Rate
  • Ne pas mettre de parenthèses sur les définitions de type string, sinon la pré-compilateur ne pourra pas concaténer les chaines de caractères et cela entraînera une erreur de compilation.

Exemple d'utilisation:

 #define PROJECT_NAME    "Demo Formation PIC32" // nom du firmware
 #define DEMO_BOARD      "PIC32-PINGUINO-OTG"   // nom de la carte utilisé
 ...
 UART_Puts(PROJECT_NAME " on " DEMO_BOARD " board.\r\n");
 ...

--> envoie la chaîne de caractères suivante vers le PC: "Demo Formation PIC32 on PIC32-PINGUINO-OTG board.\r\n"

  • Créer des en-têtes de fonctions dans le fichier .c :
/*******************************************************************************
 * Function:        void NewFunction(void)
 *
 * PreCondition:    None
 *
 * Input:           None
 *
 * Output:          None
 *
 * Side Effects:    None
 *
 * Overview:        None
 *
 * Note:            None
 ******************************************************************************/
 NewFunction(void)
  {
   
  }

--> auto-complétion tapez “func” + [Tab]

  • Créer des en-têtes de prototype de fonction (public prototypes) au format Javadoc, dans le fichier .h :
/**
 * @brief Function '''NewFunction()'''
 *
 * @param None
 *
 * @return None
 *
 * @note</font>
 */
 NewFunction(void);

Lorsque vous faite [Ctrl]+[Esp]+[Esp], soit lorsque vous êtes sur la fonction, soit lorsque vous écrivez les premières lettres du nom de la fonction, vous voyez s'afficher la partie documentation que vous venez de créer dans le .h

GT PIC Doc NewFunction.jpg


Pour plus de détails voir MPLAB® X - Architecture Projet


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