achref24
Messages postés3Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention26 septembre 2011
-
16 sept. 2011 à 18:25
achref24
Messages postés3Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention26 septembre 2011
-
26 sept. 2011 à 18:50
bonjour,
je viens d'implémenter un programme sur un Micro Renesas MC32. la RAM associée à ce micro est 25 ko, j'ai utilisé que 9 ko, je voulais allouer l'espace libre au stack. Théoriquement j'ai 16 ko libres, lorsque je l'ai alloué au stack le comportement du target ( carte d'évaluation ) devient incorrecte ( allumage des segments dans l'afficheur). Je commence a minimiser l'espace RAM alloué au stack : à 9 ko le comportement du target devient correcte donc il y a 7 ko qui sont théoriquement libres mais qu'ils ne peuvent pas être attribués au stack. j'ai cherché dans le datasheet s'il ya de l'espace qui est reservé par defaut dans la RAM mais j'ai pas trouvé d'info sur ce sujet.
Est-ce que quelqu'un a une idée sur ce sujet ou a rencontré un tel problème? c urgent !!!
achref24
Messages postés3Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention26 septembre 2011 19 sept. 2011 à 15:43
Salut patatalo,
Il n'y aurait pas une utilisation de cette memoire par un système ?
---> A la fin de la compilation le programme fournit un fichier output qui indique l'utilisation du tout le programme en RAM et ROM et ce à partir de ce fichier que j'ai calculé le besoin théorique du programme en RAM. donc cet espace utilisé inclus les interruptions, pour ROM, elle n'utilise pas de l'espace RAM ( la ROM c'est la la ROM!!!).
Le pointeur de pile s'incremente t-il dans le sens ou tu penses qu'il s'incremente ?
---> oui il s'incrémente normalement
Quelle est la plage mémoire que tu utilises pour ta pile dans les 2 cas ?
---> 1ere stack 1Ko : Start of stack = 0x000410
End of stack = 0x00080F
2eme stack 256 : Start of stack = 0x000810
End of stack = 0x00090F
sachant que l'adresse du RAM (24Ko) commence à partir de 0x000400
achref24
Messages postés3Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention26 septembre 2011 26 sept. 2011 à 18:50
enfin pour info j'ai trouvé la solution pour les gens interresés par la solution: en fait l'afficheur de la carte utilise un espace de la RAM pour traiter ses données, l'adresse de début et de fin sont protegés par un mask donc on ne peut affecter tout l'espace RAM non utilisé au stack sauf si on change le mask