Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

PIC18F2550 et FUSE

Démarré par Iro, Jeudi 03 Octobre 2013, 15:39:21 PM

Iro

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 - Ma collec' de panels

LES TUTOS DE GAMO   

Aganyte

#1
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)


Iro

#2
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.
"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 - Ma collec' de panels

LES TUTOS DE GAMO   

Aganyte


gc339

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





Aganyte

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.

AsPiC

aganyte, je ne pense pas qu'il y avait le moindre reproche dans le message de gc339 ;)

Iro

#7
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.
"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 - Ma collec' de panels

LES TUTOS DE GAMO   

Aganyte

Citation de: AsPiC 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 ;)

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

gc339

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.

Citation de: Iro le Lundi 07 Octobre 2013, 17:06:45 PMEDIT : 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





Aganyte

#10
Citation de: gc339 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.

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.

Iro

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 - Ma collec' de panels

LES TUTOS DE GAMO   

Aganyte

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.

gc339

#13
Citation de: Iro le Jeudi 10 Octobre 2013, 16:58:35 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.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard