Anfängerfrage - MSP430F Datenbereich anlegen

Gast #2213788
Lesenswert?

Guten Tag liebe Forumsmitglieder,

ich möchte gerne bei meinem MSP430F2013 eine Datenbereich unter einer 
bestimmten Adresse anlegen und dort verschiedene Werte abspeichern 
(Flash oder ROM ist vorerst egal es geht mir nur ums Prinzip). Als 
Programmierumgebung verwende ich IAR und als Programmiersprache 
Assembler.

Bisher verwende ich den DB Befehl der mir die Daten anlegt:

z.B DB 0x12, 0x13, 0x14 usw.

Allerdings weiß ich nicht welchen Befehl ich noch schreiben muss, dass 
mir die Daten unter z.B der Adresse 0400 angelgt werden. (Habe gedacht, 
dass es der Befehl #pragma ist, hat allerdings nicht funktioniert)

Die Frage ist leider echt sehr trivial, aber ich habe leider dazu noch 
nichts im Forum oder sonst wo gefunden...
Wäre für eine Antwort sehr dankbar!

Mfg
Gast #2213865
Lesenswert?

Vielen Dank für die schnelle Antwort. Allerdings hab ich in der Compiler 
Anleitung irgendwie nichts dazu gefunden (vll. verwende ich aber auch 
das falsche...)
Jedoch möchte ich das ganze in Assembler schreiben und ich habe gedacht, 
dass es bei den MSP sowas ähnliches gibt wie bei den XC`s. Ungefähr 
sowas:

data_s1 SECTION DATA at 0x00C10000
table1 DB "Text der frei festgelegt werden kann",0x00
data_s1 ENDS

Und des für den MSP. Vielleicht bin ich aber auch damit komplett auf den 
Holzweg.
#2214289
Lesenswert?

Also ich habe die Syntax gerade nicht zur Hand, aber prinzipiell kenne 
ich zwei Möglichkeiten:

1. Du definierst den gewünschten Bereich im Linkerscript und kannst dann 
im Code bequem mit dem Namen der kreierten Section arbeiten

2. Du definierst einfach einen stinknormalen Pointer und lässt ihn auf 
die gewünschte Adresse zeigen

Ich würde mal die Codebeispiele von TI zum Umgang mit dem Flashspeicher 
angucken (findest Du auf der Homepage), da hats viel brauchbares 
darunter, was Du als Grundlage heranziehen kannst.
Gast #2217518
Lesenswert?

fürs Ram bescheiben ,

mov.w R4,&0200h   register ins Ram (je nach Modell!)
mov.w &0F000h,R4   Memory  ins Register
mov.w &0F000h,&0200h    Memory to Memory

wenn du über einen Pointer arbeitest mus ich noch mal nachgucken .
da geht nicht alles was mann so denkt


mfg Erik

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