Allocation de l'espace RAM au stack

achref24 Messages postés 3 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 26 septembre 2011 - 16 sept. 2011 à 18:25
achref24 Messages postés 3 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 26 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 !!!

4 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 1
17 sept. 2011 à 13:05
salut,

Il n'y aurait pas une utilisation de cette memoire par un système ? (ROM, interruptions, ...)

Le pointeur de pile s'incremente t-il dans le sens ou tu penses qu'il s'incremente ?

Quelle est la plage mémoire que tu utilises pour ta pile dans les 2 cas ?

@++
0
achref24 Messages postés 3 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 26 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
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 1
19 sept. 2011 à 19:02
re,

La ROM peut necessiter de la RAM pour ses données modifiables.

@++
0
achref24 Messages postés 3 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 26 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
0