IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Ecrire des données dans la mémoire flash intégrée à un microcontrôleur (msp430)


Sujet :

Embarqué

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut Ecrire des données dans la mémoire flash intégrée à un microcontrôleur (msp430)
    Bonjour,

    J'enregistre des données dans la mémoire flash du msp430g2452. Ces données ne sont pas censées être modifiées par la suite si le programme fonctionne normalement.

    Dans un premier temps, j'ai écrit deux programmes, le premier qui écrit les données dans la flash et le deuxième qui correspond au fonctionnement normal du msp430 et qui se sert de ces données.

    Mon problème et le suivant :
    - Je flash mon msp430 avec le programme1, les données sont stockées dans la mémoire flash.
    - Je flash mon msp430 avec le programme2, mais lorsque de la lecture de la mémoire flash, les données ne sont plus présentes.

    Est-ce que la compilation du programme2 efface les données en flash (lors de l'écriture du code ou autre) ?

    Avez vous une solution à ce problème ? s'il vous plait.

    Merci par avance et à bientôt.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Il faut regarder les options lors de la programmation du micro mais souvent par défaut, cela efface tous les secteurs de la flash. Donc oui, quand tu flashes Programme 2, tu écrases tout Programme 1. Il est souvent possible de n'effacer que certains secteurs. Il faut en revanche faire attention à ce que tes données de Programme 1 soit intégralement conservées.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Merci excellent. Je vais chercher des infos dans ce sens.

  4. #4
    Membre actif Avatar de Livegen
    Homme Profil pro
    Ingénieur logiciel embarqué Franco-allemand
    Inscrit en
    Avril 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué Franco-allemand
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 83
    Points : 255
    Points
    255
    Par défaut
    petite question : tu utilises code composer studio ? (IDE pour MCU de TI)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Oui j'utilise code composer studio.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Sinon j'ai trouvé une piste au sujet de mon problème. Dans les configurations de debug de code composer studio v5, dans l'onglet target, msp430 properties, il y a la possibilité de configurer la mémoire effacée lors du debug. Ça m'a permis de résoudre mon problème même si ça manque un peu de finesse, je trouve.

  7. #7
    Membre actif Avatar de Livegen
    Homme Profil pro
    Ingénieur logiciel embarqué Franco-allemand
    Inscrit en
    Avril 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué Franco-allemand
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 83
    Points : 255
    Points
    255
    Par défaut
    Ok, autrement la mémoire programme de ton MSP430 dispose de 16 sections (8Ko / 512o, page 11 de la datasheet).

    L'idéal serait que dans ton premier programme, tu copies tes données dans une section vide (la dernière par exemple).

    Ensuite lorsque, tu flash le deuxième programme, tu demandes juste la programmation et la vérification de le flash.

    Pour cela, dans la vue CSS Debug tu vas dans tools> On-Chip-Flash. Tu devrais voir un nouveau volet apparaitre. Dedans, tu as une option "Flash program setting" et tu selectionne "Program, verify" puis clique sur "remember my settings".

    Ensuite flash ton programme, tu devrais observer que les étapes" Erase flash sections X" n'ont pas lieu.

    En espérant que cela fonctionne, Livegen.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 124
    Points : 86
    Points
    86
    Par défaut
    Je n'ai pas trouvé de menu "On-Chip-Flash". Par contre dans Run> Load, j'ai trouvé "Verify program" mais aussi "load program", "Reload program", "Load symbols", "Add symbols", "Remove All Symbols" (Je ne sais pas si je peux faire quelque chose avec un de ces menus). "Verify program" me dit juste que le programme a été vérifié avec succès. Et "Load program" me flash toute la mémoire (En chargeant les .out). Je n'ai pas trouvé "remember my settings".

    Sinon j'ai aussi vu Tools> Save memory | Load memory | Fill memory. J'ai alors flashé le micro et écrit les données dans la mémoire flash avec le programme1. J'ai sauvegardé le secteur contenant les données avec "Save memory". Puis, j'ai flashé le micro avec le programme2 et chargé les données dans la flash avec "Load memory".

    Je n'ai pas réussi à utiliser ta méthode Livegen donc pour le moment c'est la solution la plus propre je crois. Le principal problème avec ça est que je suis obligé de flasher mon micro en deux étapes (debug puis Load memory).

    Je n'ai peut être pas les mêmes menus que toi Livegen car il me semble que j'ai installé la version msp430 de CCS. Mais si il y a un autre moyen je suis toujours preneur.

    En tout cas merci pour ton aide Livegen.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2009, 11h03
  2. Stocker des données dans la mémoire pour exploitation sur feuilles excel
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/09/2008, 12h03
  3. Ecrire des donnes dans un flux xml
    Par jul-974 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/06/2007, 01h48
  4. Ecrire des données dans deux feuilles excel
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 28/02/2007, 08h28
  5. lire et ecrire des donnée dans un .ini
    Par gsmdu62 dans le forum Delphi
    Réponses: 6
    Dernier message: 25/05/2006, 03h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo