Auteur Sujet: PIC18F2550 et FUSE  (Lu 3594 fois)

Hors ligne Iro

  • Alias le Rouston Masqué
  • Staff
  • Dieu de l' Arcade
  • *****
  • Messages: 100246
  • Localisation: Chilly Mazarin
  • Iro, chevalier Judaï
    • Voir le profil
PIC18F2550 et FUSE
« le: Jeudi 03 Octobre 2013, 15:39:21 pm »
  • Hello,
    Je dois programmer un PIC18F2550 et configurer les fuses.
    Seulement entre ce que j'ai dans le source et l'interface de mon programmateur, il n'y à pas grand chose qui correspond  >:(
    Même avec l'aide de MPLAB, il me reste des inconnus.
    Pouvez-vous m'aider à faire la correspondance ? Merci <:)

    Voila ce que j'ai via mon programmateur


    Et la config dans le source
            #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)
            #pragma config CPUDIV   = OSC1_PLL2   
            #pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
            #pragma config FOSC     = HSPLL_HS
            #pragma config FCMEN    = OFF
            #pragma config IESO     = OFF
            #pragma config PWRT     = OFF
            #pragma config BOR      = ON
            #pragma config BORV     = 3
            #pragma config VREGEN   = ON      //USB Voltage Regulator
            #pragma config WDT      = OFF
            #pragma config WDTPS    = 32768
            #pragma config MCLRE    = ON
            #pragma config LPT1OSC  = OFF
            #pragma config PBADEN   = OFF
    //      #pragma config CCP2MX   = ON
            #pragma config STVREN   = ON
            #pragma config LVP      = OFF
    //      #pragma config ICPRT    = OFF       // Dedicated In-Circuit Debug/Programming
            #pragma config XINST    = OFF       // Extended Instruction Set
            #pragma config CP0      = OFF
            #pragma config CP1      = OFF
    //      #pragma config CP2      = OFF
    //      #pragma config CP3      = OFF
            #pragma config CPB      = OFF
    //      #pragma config CPD      = OFF
            #pragma config WRT0     = OFF
            #pragma config WRT1     = OFF
    //      #pragma config WRT2     = OFF
    //      #pragma config WRT3     = OFF
            #pragma config WRTB     = OFF       // Boot Block Write Protection
            #pragma config WRTC     = OFF
    //      #pragma config WRTD     = OFF
            #pragma config EBTR0    = OFF
            #pragma config EBTR1    = OFF
    //      #pragma config EBTR2    = OFF
    //      #pragma config EBTR3    = OFF
            #pragma config EBTRB    = OFF
    "Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
    Peter Shou Owner' Club

    WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF

    LES TUTOS DE GAMO   

    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #1 le: Dimanche 06 Octobre 2013, 15:52:05 pm »
  • Bon, je te préviens, je suis pas super à l'aise sur les 18F étant donné que je l'ai utilise rarement.



    Tout ce qui finit par Protect peut être mis sur Disable.

    J'ai mis Ok pour ce qui me semble bon et j'en ai deux dont je ne sais pas quoi te dire (OSCEN et ECCMUX)


    Hors ligne Iro

    • Alias le Rouston Masqué
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 100246
    • Localisation: Chilly Mazarin
    • Iro, chevalier Judaï
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #2 le: Lundi 07 Octobre 2013, 14:04:55 pm »
  • T'es un chef, comme toujours  :-* :-*





    Reste plus qu'à voir si çà n'explose pas quand j'appuie sur un bouton :D


    Au cas où, la correspondance entre le logiciel de mon programmateur K150 et les noms dans le source.
    « Modifié: Lundi 07 Octobre 2013, 14:11:27 pm par Iro »
    "Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
    Peter Shou Owner' Club

    WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF

    LES TUTOS DE GAMO   

    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #3 le: Lundi 07 Octobre 2013, 14:41:37 pm »
  • Bien joué Iro  ^-^

    Hors ligne gc339

    • Beta Testeur
    • *
    • Messages: 2193
    • Localisation: Lyon
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #4 le: Lundi 07 Octobre 2013, 16:05:30 pm »
  • C'est donc ce programmateur que tu utilises :


    Je ne vois pas pourquoi la correspondance des fusibles t'est indispensable. Normalement un outil comme MPLAB IDE génère, à partir du programme source, un fichier .HEX dans lequel les bits de configuration sont inclus.
    Quand ce fichier est chargé par le logiciel du programmateur, du moins ceux que j'utilise, les bits de configuration sont automatiquement mis à jour dans la fenêtre idoine. Lors de la programmation du PIC, ces bits sont alors programmés comme spécifiés dans le code source et il n'est pas nécessaire de les positionner manuellement avant programmation comme tu l'insinues pour le tien.
    Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard



    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #5 le: Lundi 07 Octobre 2013, 16:21:43 pm »
  • Ce qui est limpide pour toi ne l'est pas forcement pour tout le monde, Iro fait comme il peut et je trouve qu'il se débrouille déjà bien.

    Hors ligne AsPiC

    • Admin
    • Dieu de l' Arcade
    • *****
    • Messages: 8093
    • Localisation: Les Herbiers (85)
    • Present pour Koh Lanta Retrogaming Party 2069 !
      • Voir le profil
      • Mon compte Instagram !!
    PIC18F2550 et FUSE
    « Réponse #6 le: Lundi 07 Octobre 2013, 16:30:08 pm »
  • aganyte, je ne pense pas qu'il y avait le moindre reproche dans le message de gc339 ;)


    Recherche tout élément de Jeutel Galaktron - "AsPiC c'est : no WIP but just RIP" - kos71 2014

    Hors ligne Iro

    • Alias le Rouston Masqué
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 100246
    • Localisation: Chilly Mazarin
    • Iro, chevalier Judaï
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #7 le: Lundi 07 Octobre 2013, 17:06:45 pm »
  • Je pense aussi qu'il n'y en a pas. Merci pour le soutient aganyte  :-* :-* :-*

    Ce n'est pas exactement ce programmateur mais il doit être fabriqué sur la même base. Je dois avoir une révision plus récente.
    J'avais un hex déjà compilé qui une fois brulé sur le PIC, mon montage ne fonctionnait pas.
    Une fois les fuses configurée, le montage fonctionne.
    Donc la personne qui à fait la compilation n'a pas du les inclure.
    Vu que je vais devoir modifier un peu le programme, je suis preneur de la façon de faire dans MPLAB
    <:)

    EDIT : Ou peut être que le programme de ce programmateur ne charge pas les fuses.
    « Modifié: Lundi 07 Octobre 2013, 17:09:07 pm par Iro »
    "Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
    Peter Shou Owner' Club

    WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF

    LES TUTOS DE GAMO   

    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #8 le: Lundi 07 Octobre 2013, 17:50:30 pm »
  • aganyte, je ne pense pas qu'il y avait le moindre reproche dans le message de gc339 ;)

    J'ai trouvé le message un peu rigide, je suis en général plus détendu quand je m'adresse aux gens.

    Hors ligne gc339

    • Beta Testeur
    • *
    • Messages: 2193
    • Localisation: Lyon
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #9 le: Lundi 07 Octobre 2013, 17:50:50 pm »
  • S'il devait y avoir un reproche à faire, je dis bien s'il devait, ce n'est pas à Iro qu'il serait adressé puisqu'il bénéficie de la candeur du néophyte, mais à aganyte plus expérimenté en la matière pour ne pas lui avoir soufflé ce truc.

    En principe les fusibles sont déclarés dans la dernière ligne du fichier .hex généré. Ce fichier est un fichier texte au format intelhex. Le champ du type est à 00, et l'adresse indiquée dans le champ adresse est alors celle des fusibles qui se situe bien au delà de la dernière adresse de la mémoire programme du PIC.

    EDIT : Ou peut être que le programme de ce programmateur ne charge pas les fuses.

    Ce n'est pas à exclure. Une seule solution pour s'en assurer, modifier les fuses manuellement, recharger le fichier .hex et regarder si les fuses ont changé d'état.

    Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard



    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #10 le: Lundi 07 Octobre 2013, 17:54:18 pm »
  • S'il devait y avoir un reproche à faire, je dis bien s'il devait, ce n'est pas à Iro qu'il serait adressé puisqu'il bénéficie de la candeur du néophyte, mais à aganyte plus expérimenté en la matière pour ne pas lui avoir soufflé ce truc.

    Comme je l'ai déjà dit dans d'autres topics, j'ai appris la programmation sur PIC tout seul dans mon coin donc je ne pense pas être parfait dans ce domaine. J'essaye juste de fabriquer des "trucs" qui marchent.

    Par ailleurs, j’espérais que quelqu'un d'autre, plus calé que moi, réponde à son sujet. Comme personne ne l'a fait, j'ai décidé d'aider un peu avec mes modestes moyens.

    Hors ligne Iro

    • Alias le Rouston Masqué
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 100246
    • Localisation: Chilly Mazarin
    • Iro, chevalier Judaï
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #11 le: Jeudi 10 Octobre 2013, 16:58:35 pm »
  • J'ai donc trouvé dans MPLAB comment configuer les bits de configurations.
    Deux options :
    - Configuration par le source (ce qui est quoté plus haut)
    - Configuration par le compilateur


    Dans les deux cas , le logiciel de mon programmateur ne me remonte pas les informations.
    C'est un peu chiant pour tester ces nouvelles versions  >:(
    Il y a autre chose de spécial à paramétrer dans MPLAB ?

    Ceci dis , je suis obligé de fixer le hex car sinon j'ai une erreur à l'ouverture avec mon programmateur.
    Erreur qui comme par hasard ,parle de fuse ....



    Voila ce qui est dis dans le readme de mon programmateur


    Une idée sur le pourquoi ??

    Merci <:)
    "Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
    Peter Shou Owner' Club

    WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF

    LES TUTOS DE GAMO   

    Hors ligne aganyte

    • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
    • Dieu de l' Arcade
    • *
    • Messages: 5329
    • Localisation: 83 Rians
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #12 le: Jeudi 10 Octobre 2013, 17:40:50 pm »
  • J'ai le même logiciel, buggé à mort, et qui n'a jamais accepté correctement la configuration des fusibles du fichier Hex.

    Par contre avec le logiciel vendu avec mon Top3000, aucun problème.

    Hors ligne gc339

    • Beta Testeur
    • *
    • Messages: 2193
    • Localisation: Lyon
      • Voir le profil
    PIC18F2550 et FUSE
    « Réponse #13 le: Jeudi 10 Octobre 2013, 18:38:15 pm »


  • Voila ce qui est dis dans le readme de mon programmateur


    Une idée sur le pourquoi ??

    Tout est dit dans la citation ci-dessus.
    Je suppose que MicroBrn est le nom de ton programmateur, il refuse de lire les lignes du fichier hex dont le nombre d'octets de donnée est impair (ODD BYTE COUNT), ce qui est le cas ici dans la fenêtre d'erreur puisque la ligne en question :0100000024DB se décompose comme suit.
    • 01 : nombre d'octets de donnée, donc impair
    • 0000 : adresse absolue,
    • 00 : type 0 = données,
    • 24 ou 00100100 en binaire : l'état des fusibles à programmer,
    • DB : le checksum.

    Bizarre qu'il n'y ait qu'un seul octet pour les fusibles car selon ce blog les fusibles sont répartis sur plusieurs octets adjacents.
    « Modifié: Samedi 12 Octobre 2013, 14:12:29 pm par gc339 »
    Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard