Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

PIC : compilateur C



  1. #1
    Toufinet

    PIC : compilateur C


    ------

    Bonjour à tous,

    J'ai vu que certains PIC disposent d'un compilateur C.
    J'avoue que j'ai du mal à comprendre ça ...

    Pour moi, un compilateur C transforme du code C en assembleur machine.
    A quoi bon peut donc servir un compilateur C à l'intérieur d'un PIC ???

    Merci

    -----

  2. Publicité
  3. #2
    freepicbasic

    Re : PIC : compilateur C

    un compilateur c'est un prog PC.
    Il génère des HEX.
    Ce n'est pas un interprèteur !
    A+, pat

  4. #3
    Toufinet

    Re : PIC : compilateur C

    oui exact ...

    Et donc, à quoi ça sert un compilateur ( ou interpréteur, je ne sais plus ) C dans un PIC ?

  5. #4
    ABN84

    Re : PIC : compilateur C

    mais, il n'y a pas de compilateur (ni interpereteur), "à l'interieur" d'un pic. on ecrit le programme en C, on compile. et c'est le *.HEX qu'on insere dans le pic
    "Engineering is the art of making what you want from what you get"

  6. #5
    Toufinet

    Re : PIC : compilateur C

    http://ww1.microchip.com/downloads/e...Doc/39632D.pdf

    =>
    Special Microcontroller Features:
    • C Compiler Optimized Architecture with optional
    Extended Instruction Set

  7. A voir en vidéo sur Futura
  8. #6
    HULK28

    Re : PIC : compilateur C

    Salut Toufinet,

    c'est l'architecture qui est optimisée avec les softeux qui écrivent le prog compilateur C.

    Certains compilateurs possèdent des bibliothèques de fonctions telles que les fonctions d'appel I2C (I2C.h) ou afficheur (LCD.h) etc...
    Par exemple le compilateur C pour PIC18 de chez Microchip possède certaines fonctions d'appels prédéfinies.
    Ainsi les temps d'exécution sont (censés) être optimisés.
    Malheureusement, la plupart du temps ces bibliothèques ne sont pas publiques (tu ne peux connaitre le contenu par exemple MikroC) ce qui peut être facheux.
    Chez Microchip je ne sais pas si elles sont publiques, pour ma part j'aime bien maitriser le contenu de mes fonctions.

    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  9. Publicité
  10. #7
    Toufinet

    Re : PIC : compilateur C

    ok ... c'était juste pour savoir.

    De toute façon moi je prog en asm

    Le C c'est pour les fégnants

  11. #8
    RISC

    Re : PIC : compilateur C

    Bonjour Toufinet,

    Le C a pas mal d'avantages :
    1/ portabilité du code
    2/ lisibilité
    3/ test
    et surtout....
    4/ on estime à un rapport moyen de 10 le temps de développement en C vis à vis de l'assembleur...

    De plus, avec les process de fabrication de plus en plus fins, la taille de la mémoire augmente et le "surcout" du à la taille légèrement supérieure du programme généré en C tend vers 0...

    bonne nuit ;=)

  12. #9
    freepicbasic

    Re : PIC : compilateur C

    Un exemple de lisibilité du C , LOL
    Tu la reconnais cette procédure ?
    Code:
    while (*( (char far *) strD++) = *( (char far *) strS++) != '\0') ;
    Quelle est la portabilité de cette procédure entre Motorola et Intel ?
    Dernière modification par freepicbasic ; 12/02/2007 à 01h02.
    A+, pat

  13. #10
    CR_Gio

    Re : PIC : compilateur C

    Bonjour

    Bonjour à tous,

    J'ai vu que certains PIC disposent d'un compilateur C.
    J'avoue que j'ai du mal à comprendre ça ...

    Pour moi, un compilateur C transforme du code C en assembleur machine.
    A quoi bon peut donc servir un compilateur C à l'intérieur d'un PIC ???
    Petite explication :
    Pour flasher ( programmer) un microcontroleur (PIC) il faut:
    1. Ecrire le fichier source. Ici on le fait en langage assembleur (pédagogie oblige)
    2. Compiler le fichier source.
      Ceci va nous générer un fichier hexadecimal.
      C'est a dir que si on avait écrie en langage assembleur :
      ----------------------------------------------------------------------------
      movf 0x00, 0
      Le compilateur (l'assembleur) le traduirai aussi:
      0x08 0x00
      (cf : documentation constructeur PIC 16f84)
      Si on avait écrie le programme en C, on aurrait:
      ----------------------------------------------------------------------------
      a=0;
      Le compilateur C (XCC5) aurrait d'abord traduit le language C en langage assembleur. onrrait maintenat :
      movf 0x00,0 au lieu de a=0;
      Puis le compilateur assemble le "movf 0x00, 0" pour générer le code machine (0x08 0x00).
    3. flasher (programmer) le microcontroleur
      Pour cela, Nous avons besoin du fichier hexadecimal ( .hex) que le compilateur nous a pondu.
      Le programmateur va donc ecrire dans la memoire programme du microcontroleur les informations contenue dans le fichier hexadecimal.

Sur le même thème :

Discussions similaires

  1. problème de compilateur C pour pic
    Par CactO_o's dans le forum Électronique
    Réponses: 19
    Dernier message: 25/10/2007, 20h22
  2. Quel compilateur C pour des PIC ?
    Par zoocoral dans le forum Électronique
    Réponses: 3
    Dernier message: 19/10/2007, 13h09
  3. Compilateur C pour les pic
    Par paterson dans le forum Électronique
    Réponses: 5
    Dernier message: 12/04/2007, 19h04
  4. compilateur de c
    Par Manager dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 01/10/2005, 02h56
  5. Compilateur
    Par Fufu dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/06/2004, 17h23
Découvrez nos comparatifs produits sur l'informatique et les technologies.