IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[Renseignement] Compilateur C pour µC


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut [Résolu] [Renseignement] Compilateur C pour µC
    Bonjour,
    Je me suis toujours demandé comment on fait certaine personne, pour faire des compilateurs C/Asm pour micro-contrôleur. Comme par exemple ICC11 pour 68HC11 de Motorola, C2Cplus pour les PIC de Microchip etc...

    Par quel bout ont-ils bien pus commencer ?? Pour moi c'est un grand mistère

    Quelqu'un, pourrai m'éclairé ?
    PS: C'est juste que ça me trotte depuis un bout de temps.

    Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par défaut
    Faut avoir les spécifications de la puce, ensuite faut savoir écrire un compilateur. Trop facile :-)

    @+ Haypo

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Merci de ta réponse, mais comment procède-t-il pour le compilateur.
    Le langage C est convertit en assembleur par quelle moyen ???
    On pourrait se dire par exemple,

    après compilation donnerai en assembleur par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                     * A est en $0000
        LDX  $0000   *le registre d'index X pointe sur $0000 (RAM d'un HC11 par exemple)
        LDD #$50     *On charge l'Accu D avec 0x50
        STD  0,X     *Et on place tout en $0000
    Si vraimment, il procède comme ça, c'est un boulot de fou car il faut passer en revu toutes les possibilités du langage C.
    Ou peut être que je suis à coté de la plaque.

    Merci de ta réponse.

  4. #4
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par défaut
    En fait tu veux savoir comment fonctionne un compilateur :-) C'est pas aussi dur que ça en a l'air.
    1 - Lecture du code source (stocké dans un fichier), et analyse du code. Le mieux est d'utiliser les outils Bison (remplaçant libre de Yacc) et Flex (remplaçant libre de Lex) : analyse lexicale, puis syntaxique. Un code intermédiaire va être crée : a=4 devient "STOCKE a 4" (indépendant de la machine)
    2 - Analyse du code : cherche les variables inutilisées, optimisation, ...
    3 - Traduction du code en assembleur : partie la plus facile !!! Il suffit de connaître le code machine pour la machine cible

    Tu veux + d'info, dis-le moi ! J'ai écrit mon compilateur pour un langage de script que j'ai écrit de A à Z. C'est un langage interprété, donc il n'y a pas de traduction en assembleur. J'ai acheté un gros bouquin qui explique comment écrire son compilateur de A à Z (y'a même la programmation de l'allocation de la mémoire, c'est super intéressant).

    @+ Haypo

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Merci beaucoup, Haypo, c'est beaucoup plus claire maintenant.
    Quelle est le nom de ton bouquin ?

    Je vais me renseigner sur les outils Bison et Flex.

    Merci encore.

  6. #6
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par défaut
    Je dirai plutôt "Quel est ce pavé" (+ de 860 pages)
    Compilateurs
    Principes, techniques et outils
    Cours et exercices
    ISBN:2 10 005126 1

    Je ne l'ai pas encore lu ... Ou disons plutôt que j'ai lu ce qui m'intéressait. Dommage, pour 300 FF ().

    Je ne l'ai pas trouvé, ni sur fnac.com, ni amazon.fr, ni eyrolles.com (mal cherché ?), pas contre j'ai trouvé ça :
    http://www.eyrolles.com/php.informat...=9782100058877

    Enfin, je l'ai retrouvé !!!
    http://www.alapage.com/mx/?id=976510...s+dunod&sv=X_L

    Tient, c'est le même :-/ Ca doit être la nouvelle version ? Non, en fait ça n'a pas l'air d'être le même (pas le même auteur :-/)

    @+ Haypo

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Je te remerci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quel compilateur choisir pour l'assembleur ?
    Par forthx dans le forum Assembleur
    Réponses: 97
    Dernier message: 09/10/2018, 14h55
  2. Compilateur + simulateur pour Linux ?
    Par progfou dans le forum VHDL
    Réponses: 3
    Dernier message: 14/12/2007, 12h04
  3. Renseignement script php pour gerer sous-domaine
    Par mecmec dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 04/06/2006, 15h01
  4. Réponses: 3
    Dernier message: 09/03/2006, 21h29
  5. [Lustre] Compilateur gratuit pour Windows ?
    Par jdevelop dans le forum Autres langages
    Réponses: 2
    Dernier message: 17/09/2005, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo