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

Problème compilateur (sdcc et context)



  1. #1
    stager

    Exclamation Problème compilateur (sdcc et context)


    ------

    Bonjours à tous!
    Je suis actuellement en stage BTS électronique et comme le titre l'indique je n'arrive pas à compiler avec SDCC .Il me reste plus que 2 jours avant la fin de mon stage donc c'est très urgent
    Après quelques recherche sur le net ,j'utilise l'éditeur de texte CONTEXT .
    Mon programme n'est pas compliqué je veux juste allumé une del voici mon programme:
    Code:
    #define __p18f4550       
    #include <pic18f4550.h>
    #pragma stack 0x200 100
    
    unsigned int i;
    void
    main(void)
    {
    TRISD = 0;
          while(1)
          {
          PORTDbits.RD7=1;
          for (i=1;i<1000;i++);
          PORTDbits.RD7=0;
          for (i=1;i<1000;i++);
          }
    }
    et voici ce que me marque CONTEXT quand j'ai compilé

    > Executing: C:\Program Files\ConTEXT\ConExec.exe "C:\PROJET\g3.bat" tester

    C:\PROJET>sdcc -S -d -V -mpic16 -p18f4550 tester.c

    C:\PROJET>C:\gputils\bin\gpasm .exe -Dpic18f4550 -D__18f4550 -c tester.asm -o tester.o"

    C:\PROJET>C:\gputils\bin\gplin k.exe -I"C:\Program Files\SDCC\lib\pic16" -s"C:\gputils\lkr\18f4550.lk r" -o tester tester.o crt0i.o pic18f4550.lib libsdcc.lib libio18f4550.lib
    warning: processor mismatch in "crt0i.o"
    warning: processor mismatch in "pic18f4550.o"
    > Execution finish



    Merci de répondre le plus rapidement possible autrement si quelqu'un a déjà utilisé SDCC avec Context et si possible m'envoyer un dossier compressé avec les bons fichiers à l'intérieur.
    j'utilise le pic18f4550 .Merci

    -----

  2. Publicité
  3. #2
    benjamin pagé

    Re : Problème compilateur (sdcc et context)

    yop t'est pas a grandmont par hazard???

    Bon pour moi :

    pour la definition entrée/sortie : TRISD = 0x00; // moi je prefert

    désoler moi aussi je suis en stage BTS et la je débauche je test sa se soir et je t'envois se que j'ai trouver!!!^^

    bye @ +
    Les chiens les plus faible sont ceux qui aboient le plus fort...

  4. #3
    webshinra

    Re : Problème compilateur (sdcc et context)

    essais déjà en virant l'options -S de sdcc et regarde si il fait tout comme il faut tout seul.

  5. #4
    lolomatic

    Re : Problème compilateur (sdcc et context)

    Salut à toi !

    Citation Envoyé par stager Voir le message
    Bonjours à tous!
    Je suis actuellement en stage BTS électronique et comme le titre l'indique je n'arrive pas à compiler avec SDCC
    [...]
    C:\PROJET>C:\gputils\bin\gplin k.exe -I"C:\Program Files\SDCC\lib\pic16" -s"C:\gputils\lkr\18f4550.lk r" -o tester tester.o crt0i.o pic18f4550.lib libsdcc.lib libio18f4550.lib
    warning: processor mismatch in "crt0i.o"
    warning: processor mismatch in "pic18f4550.o"
    > Execution finish
    Les messages ci-dessus ne sont que des warnings, et pas des erreurs, ce qui signifie que normalement, la compilation s'est bien effectuée !

    Ce problème, qui n'en est pas réellement un, de "porcessor mismatch" est documenté et n'empêche en rien de compiler (il s'agit, si je me souviens bien, d'option de compilation avec le PIC par défaut...).

    Regarde dans ton répertoire si un ".hex" ne s'y trouve pas, ou dans le cas échéant, recherche où ton environnement demande à SDCC de générer les ".hex" (il est probable qu'une telle option existe).

    Tiens-nous au courant

    A+
    Dernière modification par lolomatic ; 02/07/2008 à 19h18.

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    stager

    Exclamation Re : Problème compilateur (sdcc et context)

    bonjour à tous et merci de votre aide!

    Effectivement lolomatic tu as raison mon fichier .hex est bien généré après la compilation, le plus surprenant c'est lorsque que je teste mon fichier sur émulateur il fonctionne mais dès que je l'envoi sur ma carte plus rien.
    Je pense q'il faut peut être une sorte de pragma code comme pour C18 voir ci dessous:
    Code:
    extern void _startup (void);
    #pragma code _RESET_INTERRUPT_VECTOR = 0x000800
    void _reset (void)
    {
        _asm goto _startup _endasm
    }
    
    #pragma code
    Lorsque je le compile avec sdcc il me dis:
    tester.c:31: warning 191: #pragma code: bad argument(s); pragma ignored
    Je ne sais plus trop quoi .

  9. #6
    stager

    Exclamation Re : Problème compilateur (sdcc et context)

    je peux vous donner mon fichier .BAT pour voir si il n'y a rien a modifier:

    sdcc -d -V -mpic16 -p18f4550 %1.c
    C:\gputils\bin\gpasm.exe -Dpic18f4550 -D__18f4550 -c %1.asm -o %1.o"
    C:\gputils\bin\gplink.exe -I"C:\Program Files\SDCC\lib\pic16" -s"C:\gputils\lkr\18f4550.lk r" -o %1 %1.o crt0i.o pic18f4550.lib libsdcc.lib libio18f4550.lib
    merci!

  10. Publicité
  11. #7
    webshinra

    Re : Problème compilateur (sdcc et context)

    il te dit que l'adresse que tu lui donne pour ta stack est fausse, donc utilise les valeurs par défaut (une stack de 64 bits je ne sais plus ou)pour le reste, a tu verifier que ton pic (et son environement bien sur) marchais correctement avec un programe simple? sinon, c'est soit un probleme de stack overflow (c'est possible tu manipule de "grosse" variable locale ou si tu imbrique des fonctions)

  12. #8
    stager

    Exclamation Re : Problème compilateur (sdcc et context)

    slt
    Ou sa tu vois que j'ai un problème avec stack ?
    Autrement pour l'environnement tu composant c'est bon , j'ai déjà fait un programme avec C18 il fonctionne sur mon pic j'arrive à allumé les dels que je veux .
    Merci

  13. #9
    webshinra

    Re : Problème compilateur (sdcc et context)

    tester.c:31: warning 191: #pragma code: bad argument(s); pragma ignored

    la commande pragma que tu emploie a pour role de changé l'emplacement/taille de la stack, sauf que la valeur tu utilise est fausse, le compilateur, l'ignore donc.
    il faudrais que tu fasse différents essais (généralement on alloue a la stack la dernière banque memoire).

  14. #10
    stager

    Re : Problème compilateur (sdcc et context)

    Oui normalement on met la pile à la fin de la mémoire tu aurais une idée quel valeur je devrais mettre ou bien se que je devrais modifier?
    merci

  15. #11
    lolomatic

    Re : Problème compilateur (sdcc et context)

    Sans chercher plus loin...
    As-tu pensé à régler convenablement la configuration de ton PIC (les "fuses" ou "fusibles") ?

    Car si tu envoies ton programme tel quel, il n'y a aucune chance qu'il fonctionne !
    Ton pic ne sait pas quelle horloge utiliser, comment est câblé la broche de reset, si le watchdog est actif, etc...

    Ces lignes commencent par un truc du genre "code char at __CONFIG1H..." !

    A+

Discussions similaires

  1. Problème Librairie XLCD - compilateur C18
    Par jorg1n dans le forum Électronique
    Réponses: 27
    Dernier message: 08/06/2009, 07h00
  2. Problème SDCC et context
    Par stager dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/07/2008, 14h03
  3. problème de compilateur C pour pic
    Par CactO_o's dans le forum Électronique
    Réponses: 19
    Dernier message: 25/10/2007, 19h22
  4. bug sdcc
    Par sifourquier dans le forum Électronique
    Réponses: 0
    Dernier message: 30/07/2007, 16h48
  5. Besoin d'aide pour le compilateur C SDCC et les PIC18
    Par lolomatic dans le forum Électronique
    Réponses: 4
    Dernier message: 14/05/2006, 20h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.