Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
PIC16F1825 Bug du compilateur
Bonjour tout le forum,
Possédant un PIC16F1825 je me retrouve avec un bug au moment de la compilation, source du message d'erreur.
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 11 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 12 : Program word too large. Truncated to core size. (DCFF)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (DCFF)
Je vous joint le code, qui est quasiment vide, bon il se compile, mais j'aimerais bien comprendre, pourquoi ce message d'erreur
Y a t'il un remède miracle, ou faut t'il que j'aille à Lourdes
A+
Possédant un PIC16F1825 je me retrouve avec un bug au moment de la compilation, source du message d'erreur.
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 11 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 12 : Program word too large. Truncated to core size. (DCFF)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (C9A4)
Message[303] D:\DATAPIC\PICSOUR\16F1825\16F1825TEMP.ASM 149 : Program word too large. Truncated to core size. (DCFF)
Je vous joint le code, qui est quasiment vide, bon il se compile, mais j'aimerais bien comprendre, pourquoi ce message d'erreur
Code : Tout sélectionner
;**********************************************************************************************
Errorlevel-302 ; Supprime le message "Ensure that bank bits are correct"
; Errorlevel-303 ; pour supprimer le message d'erreur, mais ça ne règle pas le problème.
; pourquoi ?
list p=16f1825 ; liste de la directive de la définition du processeur
#include <p16f1825.inc> ; définition des variables du processeur
;------------------------------------------------------------------------------
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
;------------------------------------------------------------------------------
CBLOCK H'20'
donner_low :1
donner_hi :1
adresse_low :1
adresse_hi :1
ENDC
;------------------------------------------------------------------------------
;
; le PIC16F1825 a 256 octets d'eeprom, qui commence à adresses 0xF000
;
;------------------------------------------------------------------------------
DATAEE ORG 0xF000
DE "Bug" ; écriture en eeproom 'B' 'u' 'g' adresses 0,1,2
;------------------------------------------------------------------------------
ORG H'0' ; reset de départ
PAGESEL start
goto start
;------------------------------------------------------------------------------
ORG H'4'
retfie
;------------------------------------------------------------------------------
start
loop
nop
nop
goto loop
;****************************** "pour écrit dans l'eeprom" *************************************
ecriture_eeprom
BANKSEL EEADRL ; passer en bank 3
movlw adresse_low
movwf EEADRL ; adresse du poids faible
movlw adresse_hi
movwf EEADRH ; adresse du poids fort
movlw donner_low
movwf EEDATL ; donnée du poids faible
movlw donner_hi
movwf EEDATH ; donnée du poids fort
bcf EECON1,CFGS ;
bcf EECON1,EEPGD ;
bsf EECON1,WREN ; préparation pour écriture
bcf INTCON,GIE ; couper les interruptions
movlw H'55' ; séquence spécifique (c'est comme ça, il faut le savoir)
movwf EECON2 ; séquence spécifique
movlw H'AA' ; séquence spécifique
movwf EECON2 ; séquence spécifique
bsf EECON1,WR ; lance une opération d'écriture
btfsc EECON1,WR ; assurer que l'écriture est terminé
goto $-D'1' ;
bcf EECON1,WREN ; interdiction de l'écriture
;bsf INTCON,GIE ; restaurer les interruptions si activé
return
;******************************** "pour lire dans l'eeprom" ************************************
lecture_eeprom
BANKSEL EEADRL ; passer en bank 3
movlw adresse_low
movwf EEADRL ; adresse du poids faible
movlw adresse_hi
movwf EEADRH ; adresse du poids fort
bcf EECON1,EEPGD ; préparation à l'autorisation
bcf EECON1,CFGS ; accédés en eeprom
bcf INTCON,GIE ; couper les interruptions
bsf EECON1,RD ; lecture de l'EEPROM
nop ; laisser le temps de lire les données
nop
movf EEDATL,W ; la donnée du poids faible est récupéré
movwf donner_low
movf EEDATH,W ; la donnée du poids fort est récupéré
movwf donner_hi ;
;bsf INTCON,GIE ; restaurer les interruptions si activé
return
;***********************************************************************************************
end
Y a t'il un remède miracle, ou faut t'il que j'aille à Lourdes
A+
Modifié en dernier par Temps-x le mar. 17 mars 2020 16:45, modifié 4 fois.
PIC16F1825 Bug du compilateur
- Claudius
Passioné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonsoir Temp-X et à tous,
Désolé, cela n'est pas un bug du compilateur qui a entièrement raison ;-)
En effet la directive org lui indique de définir une adresse programme (ici en 0xF000) qui est manifestement hors de portée de ce pic
Pour définir une adresse hors programme (ici celle de l'eeprom), utiliser la directive #define ou equ (cf. MPASM - Directives mais valable pour tous les assembleurs qui se respectent)
Remarque: Imagine que ce même programme soit conçu pour un pic qui aurait une adresse programme en 0xF000, il y aurait alors un conflit de définition entre cette adresse programme et celle de l'eeprom ou de tout autre périphérique d'ailleurs ... donc ne pas utiliser org dans ce cas qui est réservée à la définition des adresses programme
Désolé, cela n'est pas un bug du compilateur qui a entièrement raison ;-)
En effet la directive org lui indique de définir une adresse programme (ici en 0xF000) qui est manifestement hors de portée de ce pic
Pour définir une adresse hors programme (ici celle de l'eeprom), utiliser la directive #define ou equ (cf. MPASM - Directives mais valable pour tous les assembleurs qui se respectent)
Remarque: Imagine que ce même programme soit conçu pour un pic qui aurait une adresse programme en 0xF000, il y aurait alors un conflit de définition entre cette adresse programme et celle de l'eeprom ou de tout autre périphérique d'ailleurs ... donc ne pas utiliser org dans ce cas qui est réservée à la définition des adresses programme
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
PIC16F1825 Bug du compilateur
Bonsoir Claudius, et tout le forum,
pour ta réponse, mais malgré le retrait de ceci
J'ai toujours le même message d'erreur, quelle qu'un veut t'il essayer de le compiler,
Je joint les fichier ci-dessous
Apparemment, je ne suis pas le seul, voir ICI
A+
pour ta réponse, mais malgré le retrait de ceci
Code : Tout sélectionner
;------------------------------------------------------------------------------
DATAEE ORG 0xF000
DE "Bug" ; écriture en eproom 'B' 'u' 'g' address 0,1,2
;------------------------------------------------------------------------------
J'ai toujours le même message d'erreur, quelle qu'un veut t'il essayer de le compiler,
Je joint les fichier ci-dessous
Apparemment, je ne suis pas le seul, voir ICI
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le dim. 5 mai 2019 15:55, modifié 2 fois.
PIC16F1825 Bug du compilateur
Bonjour à tous,
Dans cette release note de MPASM 5.53, il est dit qu'il faut pas s'inquiéter.
http://denethor.wlu.ca/cp316/software/R ... embler.htm
(MPASM-409)
When __CONFIG macro is used to set the configuration words for PIC12F1xxx and PIC16F1xxx devices,then MPASM v5.48 generates a warning : "Program word too large. Truncated to core size." This can be ignored.
Claudius, après un passage sur ton site très bien présenté et détaillé, j'ai rechoppé le virus des Pic 16 bits :)
Je suis en train de faire un bootloader pour Pic 24 et dsPIC ...
Dans cette release note de MPASM 5.53, il est dit qu'il faut pas s'inquiéter.
http://denethor.wlu.ca/cp316/software/R ... embler.htm
(MPASM-409)
When __CONFIG macro is used to set the configuration words for PIC12F1xxx and PIC16F1xxx devices,then MPASM v5.48 generates a warning : "Program word too large. Truncated to core size." This can be ignored.
Claudius, après un passage sur ton site très bien présenté et détaillé, j'ai rechoppé le virus des Pic 16 bits :)
Je suis en train de faire un bootloader pour Pic 24 et dsPIC ...
PIC16F1825 Bug du compilateur
Bonjour satinas, et tout le forum,
pour ta réponse,
Leur compilateur est à revoir dans ce cas là, j'ai la version de MPASMWIN 5.51.
Bon je vais continuer mon programme de toute façon, en m’étant Errorlevel-303,
Je tiens à signaler pour ceux qui utilise le même type de pic et qui font du C, basic, pascal, qu'ils auront ce message d'erreur d'après
les nombreux site que j'ai visité, donc, ne pas s’inquiéter
Le bug existe bien, mais apparemment Microchip le sais.
A+
pour ta réponse,
satinas a écrit :Source du message Dans cette release note de MPASM 5.53, il est dit qu'il faut pas s'inquiéter.
Leur compilateur est à revoir dans ce cas là, j'ai la version de MPASMWIN 5.51.
Bon je vais continuer mon programme de toute façon, en m’étant Errorlevel-303,
Je tiens à signaler pour ceux qui utilise le même type de pic et qui font du C, basic, pascal, qu'ils auront ce message d'erreur d'après
les nombreux site que j'ai visité, donc, ne pas s’inquiéter
Le bug existe bien, mais apparemment Microchip le sais.
A+
PIC16F1825 Bug du compilateur
- Claudius
Passioné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonjour satinas et à tous,
Je te remercie satinas, si cela peut t'aider, je compléterai si besoin est...
S'agissant du site micro-infos, j'ai maintenant beaucoup plus de temps car "payé à vie à ne rien faire" , je vais pouvoir créer des articles et notamment un qui me tiens à cœur ... j'ai nommé l'Utilisation du coprocesseur flottant Micromega uM-FPU avec un Pic 16 bits ... voire moins et ... pour laquelle j'ai pas mal avancé
Content de propager un virus dans le bon sens et merci encore satinas pour tes encouragements
satinas a écrit :
Claudius, après un passage sur ton site très bien présenté et détaillé, j'ai rechoppé le virus des Pic 16 bits :)
Je suis en train de faire un bootloader pour Pic 24 et dsPIC ...
Je te remercie satinas, si cela peut t'aider, je compléterai si besoin est...
S'agissant du site micro-infos, j'ai maintenant beaucoup plus de temps car "payé à vie à ne rien faire" , je vais pouvoir créer des articles et notamment un qui me tiens à cœur ... j'ai nommé l'Utilisation du coprocesseur flottant Micromega uM-FPU avec un Pic 16 bits ... voire moins et ... pour laquelle j'ai pas mal avancé
Content de propager un virus dans le bon sens et merci encore satinas pour tes encouragements
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
PIC16F1825 Bug du compilateur
Bonjour Temps-X
Ne devrait-on pas voir :
Temps-x a écrit :Source du message bsf EECON1,WR ; lance une opération d'écriture
btfsc EECON1,WR ; assurer que l'écriture est terminé
goto $-D'2' ;
Ne devrait-on pas voir :
Code : Tout sélectionner
goto $-D'1' ;
PIC16F1825 Bug du compilateur
Bonsoir JJE, et tout le forum,
Tu as tout a fait raison, mais j'ai une excuse j'ai regardé le datasheet de ce Pic, qui est téléchargeable en début de post #1
Et je m’aperçois, qu'on retrouve des instructions du PIC18Fxx, donc, je me suis dit sans faire l'essai qu'une instruction
devait faire 2 cycles.
Comme j'ai pas encore ce PIC j'ai laissé le programme de coté, mais j'avais un PIC16F1937 qui est l'équivalent, mais en plus
compliqué et beaucoup plus de patte.
Pouah... !! les noms des registres qui change complétement dans cette série, une vraie galère.
Comme j'avais posté pour un problème d'erreur de compilation, je me suis pas soucier de faire l'essai.
Je me suis rendu compte qu'un cycle fait une instruction sur le PIC16F1937 et comme c'est la même famille que le PIC16F18F25
je pense que c'est pareille, à vérifier avec MPLAB IDE v8.92,
Pour les instructions voir les pages du datasheet 322, 323, Merci JJE pour te soucier de ça, et bien vue.
A+
Tu as tout a fait raison, mais j'ai une excuse j'ai regardé le datasheet de ce Pic, qui est téléchargeable en début de post #1
Et je m’aperçois, qu'on retrouve des instructions du PIC18Fxx, donc, je me suis dit sans faire l'essai qu'une instruction
devait faire 2 cycles.
Comme j'ai pas encore ce PIC j'ai laissé le programme de coté, mais j'avais un PIC16F1937 qui est l'équivalent, mais en plus
compliqué et beaucoup plus de patte.
Pouah... !! les noms des registres qui change complétement dans cette série, une vraie galère.
Comme j'avais posté pour un problème d'erreur de compilation, je me suis pas soucier de faire l'essai.
Je me suis rendu compte qu'un cycle fait une instruction sur le PIC16F1937 et comme c'est la même famille que le PIC16F18F25
je pense que c'est pareille, à vérifier avec MPLAB IDE v8.92,
Pour les instructions voir les pages du datasheet 322, 323, Merci JJE pour te soucier de ça, et bien vue.
A+
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 41 invités