PIC : compilateur C
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. #2
    invitef86a6203

    Re : PIC : compilateur C

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

  3. #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 ?

  4. #4
    invitec35bc9ea

    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

  5. A voir en vidéo sur Futura
  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. #6
    invite5637435c

    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.

    @+

  8. #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

  9. #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 ;=)

  10. #9
    invitef86a6203

    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 ?

  11. #10
    invite6bc2701b

    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.

Discussions similaires

  1. problème de compilateur C pour pic
    Par invitefcd0dbb3 dans le forum Électronique
    Réponses: 19
    Dernier message: 25/10/2007, 20h22
  2. Quel compilateur C pour des PIC ?
    Par invite116c4f9b dans le forum Électronique
    Réponses: 3
    Dernier message: 19/10/2007, 13h09
  3. Compilateur C pour les pic
    Par invite42dae262 dans le forum Électronique
    Réponses: 5
    Dernier message: 12/04/2007, 19h04
  4. compilateur de c
    Par invite0cb5bbd3 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 01/10/2005, 02h56
  5. Compilateur
    Par invite5eb13cb6 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/06/2004, 17h23
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...