Besoin d'aide pour le compilateur C SDCC et les PIC18
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Besoin d'aide pour le compilateur C SDCC et les PIC18



  1. #1
    invite87be5ae9

    Question Besoin d'aide pour le compilateur C SDCC et les PIC18


    ------

    Bonjour à tous !

    Comme le titre le laisse supposer, j'ai de gros problèmes à utiliser SDCC avec les PIC18 !
    Après avoir parcouru et re-parcouru le web anglophone et francophone, je n'ai trouvé que trop peu d'informations! Il s'agit pourtant du SEUL compilateur Open-source C pour PIC, sachant que la communauté PIC est très importante, cela a de quoi étonner !!!

    Je vous explique en détail mon problème actuel :
    J'aurais besoin de placer la configuration du PIC (fusibles) dans le code source (come en assembleur, ou avec C18), or, le seul code que j'ai trouvé comportant une telle commande est destiné aux 16f627 :
    /* Setup chip configuration */
    typedef unsigned int config;
    config at 0x2007 __CONFIG = _CP_OFF &
    _WDT_OFF &
    _BODEN_OFF &
    _PWRTE_OFF &
    _ER_OSC_CLKOUT &
    _MCLRE_ON &
    _LVP_OFF &
    _XT_OSC;


    (Un précision : ce code est placé juste avant le main().)

    J'ai donc voulu l'adapter pour mon PIC18 (18f1220), et j'ai tapé :
    typedef unsigned int config;
    config at 0x300001 __CONFIG = _OSC_INT_Port_on_RA6_Port_on_R A7_1H &
    _FCMEN_OFF_1H ;


    Les valeurs sont juste là pour l'exemple, car je voulais voir dans IC-Prog si la valeur de CONFIG1H (qui se situe à l'adresse 0x300001) s'en trouve modifiée ! Hélas il n'en est rien !
    Ceci dit, j'ai essayé de mettre __CONFIG1H à la place de __CONFIG, mais le compilo m'a gentillement retourné une erreur ! (à ce point j'imagine même pas comment mettre tous les CONFIGxx !!!)

    Donc voilà, j'avance à coup d'essais totalement infructueux depuis plusieurs jours, je n'arrive pas à sauvegarder mes octets de configuration !

    Je vais encore et encore re-essayer, je viens d'avoir l'idée d'inspecter les .asm générés, mais j'espère vivement qu'un habitué de ce compilateur a la solution !
    Je me dis aussi que si j'ai peiné pour le trouver, d'autres aussi sont dans mon cas et la solution profiterait à tout le monde

    -----

  2. #2
    monnoliv

    Re : Besoin d'aide pour le compilateur C SDCC et les PIC18

    Bonjour et bienvenue,

    J'utilise aussi SDCC mais pour une autre cible.
    Concernant ton problème, je te conseille vivement de t'abonner à la mailing-list via l'adresse suivante:
    https://lists.sourceforge.net/lists/listinfo/sdcc-user
    Non seulement tu pourras poser tes questions mais il y a aussi des archives.

    A+
    Ne soldez pas grand mère, elle brosse encore.

  3. #3
    invite87be5ae9

    Re : Besoin d'aide pour le compilateur C SDCC et les PIC18

    Merci pour ta réponse !
    Je vais m'y inscrire au plus tôt !
    Je pense réessayer ce week end !
    J'espère trouver une réponse car ma dernière tentative consistait à inclure le code assembleur concernant la directive CONFIG directement dans le code (en le balisant avec _asm et _endasm; ) Méthode assez peu élégante... Ne fonctionnant pas mieux qui plus est !

    Comme tu as dis que tu utilises SDCC, je me permets de te demander ce que tu penses de ce compilateur ? Les éloges à son égard ne fusent pas vraiment sur la toile, surtout concernant les PICs ! Est-il viable en production ? (s'il ne l'est que sur certaines cibles, lesquelles sont-elles?)

    Bon... Si je trouve réponse à ma question, je n'hésiterai pas à la poster ici !!! (Ya quand même du monde qui a lu ce post, et je suppose que cela pourrait les intéresser)

    @+

  4. #4
    monnoliv

    Re : Besoin d'aide pour le compilateur C SDCC et les PIC18

    Bonjour,

    SDCC n'est pas encore bien stabilisé pour les PIC d'après ce que je peux lire en survolant les messages, donc à suivre. Concernant la cible 8051, je le trouve très bon, il n'a pas à rougir devant le meilleur compilateur pour 8051 que j'utilise (utilisais) aussi (le KEIL, très bon mais cher).
    La seule limitation qui m'embête, mais c'est dans le tube pour une prochaine version, c'est l'impossibilité de réserver de la mémoire code absolu (pour éviter d'enregistrer des paramètres en flash sur son propre code, on pourrait faire un truc du genre
    Code:
    code at 0x4000 unsigned int chksum
    mais SDCC ne réserve pas l'espace mémoire).

    Perso, je n'hésite pas à l'utiliser en production mais c'est à toi d'évaluer les risques.
    A+
    Ne soldez pas grand mère, elle brosse encore.

  5. A voir en vidéo sur Futura
  6. #5
    invite87be5ae9

    Re : Besoin d'aide pour le compilateur C SDCC et les PIC18

    Bonjour,

    Merci pour le tuyau de la mailling-list, une petite recherche et voilà ce que donne la méthode pour les octets de configuration pour PIC18 :

    code char at __CONFIG1H _conf1h = valeur sur un octet ;

    Evidement, le "1H" et le "1h" devant les "__CONFIG" et "_config" sont à remplacer pour chaque octet de configuration (exemple : "...__CONFIG2H _config2h ...".
    Les valeurs à renseigner se trouvent dans le fichier ".h" correspondant au PIC utilisé (dans mon cas, le pic18f1320, donc dans "pic18f1320.h")

    Donc voilà, à l'heure où j'écris ces lignes, ma LED clignote fièrement sur ma platine d'essai, programmée avec SDCC !

    Vu la maturité de ce compilateur, il est clair que je ne l'utiliserai jamais en production, dans l'état actuel des choses. Je trouve ceci bien dommage, car il s'agit du seul compilateur C open source pour PIC ! (Même s'il est vrai que ces microcontrôlleurs sont un réél plaisir à programmer en assembleur).
    Sans vouloir comparer, les microcontrôlleurs Atmel peuvent se vanter d'avoir un portage GCC qui leur est dédié

    Ceci dit, c'est quand même un compilateur que je conseille ! Ne serait-ce que par simple curiosité

Discussions similaires

  1. Besoin d'aide pour les suites
    Par invite47694004 dans le forum Mathématiques du supérieur
    Réponses: 12
    Dernier message: 18/01/2008, 18h57
  2. besoin d'aide pour les forces
    Par inviteaf3c03b7 dans le forum Physique
    Réponses: 1
    Dernier message: 07/11/2007, 18h18
  3. Besoin d'aide pour les TPE
    Par invite062df99a dans le forum TPE / TIPE et autres travaux
    Réponses: 4
    Dernier message: 22/11/2006, 18h03
  4. Besoin d'aide pour les gradateurs de lumiere...
    Par invitefe70cd58 dans le forum Électronique
    Réponses: 3
    Dernier message: 21/04/2006, 18h16
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...