MSP430 flash

OP #933437
Lesenswert?
• ▲
▼
Hallo Leute!

Hab mal ne frage:
Kann ich eigentlich auch den flash eines msp430 (z.b. beim msp430f135) 
auch als datenspeicher und programmspeicher benützen. Ich meine, dass 
ich eine Routine schreibe, die mir 4 zahlen im Flash ablegt und bei 
einem Neustart dann wieder ausgibt.

Dann würd ich mir einen externen seriellen flash ersparen.

Hat das programm schon mal jemand gehabt bzw. gelöst?

mfg,Geri
Gast #933448
Lesenswert?
• ▲
▼
Hallo,

im Dokument slau144d.pdf (www.ti.com/.../MSP430x2xx Family User's
Guide) wird in Kapitel 7 (Flash Memory Controller) beschrieben,
wie's geht: erst Block löschen, dann den Block beschreiben. Ich
weiss aber im Moment nicht, ob ein Schreibzugriffslimit existiert
(z.B. 100.000 mal wiederbeschreibbar).

Gruss

Jörg
Gast #933449
Lesenswert?
• ▲
▼
ja klar geht das, Du musst nur eben eine Adresse wählen von der Du weiß, 
dass sie nach einspielen Deines Programms noch nicht belegt ist.
Ich meine der flashspeicher geht bei 0x4000 los (davor ist ram), wenn 
Deu prog nun 13k hat sind das 1024 x 13 = 3400hex + 4000h (vom RAM) = 
7400hex.

Das wäre dann die Höchste Adresse von Deinem Prog, da man beim msp nur 
512byte weise löschen kann, muss du eben darauf aufrunden. Ich würde 
zudem noch ein wenig Luft dazwischen legen damit noch platz für später 
ist!
Gast #933476
Lesenswert?
• ▲
▼
>Kann ich eigentlich auch den flash eines msp430 (z.b. beim msp430f135)
>auch als datenspeicher...

Genau für sowas sind ja eigentlich die INFO-Flash Segmente gedacht. 
Diese haben gegenüber dem eigentlichen Programmspeicher-Flash kleinere 
Segmente, sind aber ansonsten völlig gleichwertig.
Andersherum gedacht ist es z.B. auch möglich ins INFO-Flash Teile des 
Programmcodes abzulegen.
Im Linkerfile können solche Zuordnungen vorgenommen werden, indem man 
dem Linker sagt, in welche Bereiche er Programmcode oder Daten ablegen 
soll!
Gast #1329005
Lesenswert?
• ▲
▼
mmmh, da hab ich jetzt ein Problem...

nehme ich die Speisung weg (sowohl externe Netzteil als USB (TI 
Ez430-RF2500) Anschlüsse weg), wird diese Information Memory gelöscht!

Ich arbeite mit IAR und beispiel Code für F2132 
(msp430x21x2_flashwrite_01.c)
In (Projects -> Options -> FET Debugger) hab ich die 3 "Flash erase 
option" verwendet, ohne Erfolg. (Bei "Erase Main and Information Memory" 
ohne Überraschung :) )

Mit konstante Supply hab ich folgendes:
Debug without download -> alles OK
Download & debug -> Segment C gelöscht, Segment D OK

Ohne konstante Supply:
Debug without download -> Segment C gelöscht, Segment D random Werte
Download & debug -> Segment C gelöscht, Segment D gelöscht

Was ist da Falsch? Der MSP430 hat eine speisung von 3.4V, den Code nehme 
ich mal an, ist korrekt. Die erwähnten Optionen sind die einzige die ich 
in Zusammenhang mit Flash memory gefunden habe...

bin ratlos! Danke für eure Hilfe!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.