Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
910 connectés 

  FORUM HardWare.fr
  Programmation
  C

  (résolu)Prog sur PIC 18F452

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(résolu)Prog sur PIC 18F452

n°2077086
pitivier03
Posté le 19-05-2011 à 13:18:29  profilanswer
 

bonjour
 
je n'arrive pas à remplir plus de 52% de l'espace ROM de mon PIC.
Actuellement mon prog fait 16932 octets (~52%) dont 16384 octets qui sont placés entre les adresses $4000 et $7FFF , les 548 autres octets étant placés avant $4000.
Mon problème est que le simple fait de rajouter une ligne ex: (A=1;) dans une fonction, me génère l'erreur suivante:
Error[000]   : Can't find 0x4006 words (0x4006 withtotal) for psect text in segment CODE
Si j'ai bien compris, l'erreur indique que le PIC n'aurait pas assez de place, alors que seulement 52% environ de ROM sont utilisé.
Donc comment expliquer çà et comment y remédier.
 
Merci


Message édité par pitivier03 le 10-06-2011 à 11:10:59
mood
Publicité
Posté le 19-05-2011 à 13:18:29  profilanswer
 

n°2080960
Metatr0n
http://www.microcontest.com
Posté le 07-06-2011 à 11:49:02  profilanswer
 

Bonjour,
 
cela vient du fait que la mémoire libre est fragmentée en différents segments. Le problème que tu rencontres est que le code que tu cherches à placer ne trouve pas de segment de mémoire assez long. Voici les recommandations que j'ai trouvée sur Internet :  
 

Citation :

If the problem is that the memory is fragmented into many small free ranges:
 
* Do not define absolute variables or functions
  - if you must, ensure that are placed at the end of a bank or page
* Split large psects these into smaller ones
  - If the psect holds the code associated with a function, split the function into two; reduce
     array or structure sizes, where possible


 
tiens moi au courant


Message édité par Metatr0n le 07-06-2011 à 11:50:34

---------------
http://www.microcontest.com - Site de challenges de programmation : Cryptographie - Multimedia - Intelligence Artificielle - Réseaux - Algorithmique - Mathématiques
n°2081789
pitivier03
Posté le 10-06-2011 à 11:03:57  profilanswer
 

Merci pour votre réponse.
 
J'ai réduit mes fonctions ou découpé les plus longues, mais je pense que l'erreur venait peut être du fait que certaines de mes variables étaient déclarées en 16 bits alors que j"en utilisais que 8.Bref, tout c'est arrangé mon prog fonctionne.


Message édité par pitivier03 le 10-06-2011 à 11:09:18

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  (résolu)Prog sur PIC 18F452

 

Sujets relatifs
Hein? mon prog a enlevé une lettre de argv[] [NOVICE]Exécution d'un prog java sous Unix
PIC 18f452[prog réseaux]serveur multithread et variable globales
Un bind( ) dans un prog client en mode TCP[PIC/C] Pb Stack overflow
comment inclure/compiler OpenSSL dans mon progprog d'automates
Prog en .bat 
Plus de sujets relatifs à : (résolu)Prog sur PIC 18F452


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR