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

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.