MSP430 flash

#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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren