Se connecter avec
S'enregistrer | Connectez-vous

Stocker dans la mémoire flash d'un microcontrôleur

Dernière réponse : dans Programmation

Bonjour,
voilà je programme sur un MSP430f, je relève des valeurs d'un accéléromètre que je place dans une variable suivant les axes X,Y,Z.
Mes variables sont nommées VALEUR_X, VALEUR_Y, VALEUR_Z.
J'ai étudié la mémoire flash du MSP430f5438 (le microcontroleur sur lequel je programme) et j'aimerais savoir comment je pourrais enregistré les variables VALEUR_X, etc. dans les segments de la mémoire flash pour les sotckées?
Je connais la procédure pour écrire mais je ne connais pas les adresses des "banks" ou des segments.
Je crois que la mémoire est adressé de 01000h - 010FFh ce qui fait une mémoire de 256 octets.

Mais se pourrait-t'il que mes variables soit directement stockés dans la mémoire ?
Si oui , Où ça ?

Merci d'avance, posez moi d'éventuelles questions si nécessaire.
Lassé par la pub ? Créez un compte

Salut,

Il y a un truc qui m'étonne, c'est que dans la doc du micro dont tu parles, il est question d'une flash de 256k... Donc ton adressage devrait plutôt être un truc du genre 00000000h - 00040000h... mais c'est un détail !
Pour le reste, il me semble que la flash doit être vue comme un ensemble de blocs de 128o, c'est à dire que lorsque tu écris en flash,
ce sont forcéments des blocs (donc une zone multiple de 128o)...

Après tout dépend à quoi ressemble ta méthode d'écriture... est-ce qu'en paramètres tu lui passes un numéro de secteur (ou de bloc), ou directement l'adresse mémoire à écrire (et c'est le micro qui se débrouile) ???

J'espère t'avoir quelque peu éclairé...

Merci de ta réponse, mais je crois avoir élucidé le problème.
En faite, c'est que j'ai pas réfléchis sur le fait que mes variables VALEUR_X, etc. ... sont stockés dans la mémoire RAM qui elle fait 16K.

Mais pour en revenir au sujet, le truc c'est qu'il disait juste comment écrire mais pas l'adressages complet de la mémoire , on ne connait pas l'adresse des secteurs etc...

Citation :
En faite, c'est que j'ai pas réfléchis sur le fait que mes variables VALEUR_X, etc. ... sont stockés dans la mémoire RAM qui elle fait 16K.

Je comprends pas trop... les données sont stockées là où tu demandes au linker de les mettre... donc en RAM, ROM, NVM, etc... tout dépend de ton adressage et de ton besoin...
Enfin si tu as résolu ton problème, tant mieux !!! :sol: 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde