Forum: Mikrocontroller und Digitale Elektronik zugriff auf flash


von Johnny (Gast)


Lesenswert?

Hallo. in C kann man ja mit progm einen Speicherbereich im flash lesen.
wie kann ich das in ASM machen ?

MfG

von Jens (Gast)


Lesenswert?

was willst du aus dem flash lesen?? programm code?
oder willst du werte im flash speichern??
dann schau dir mal an:

.DB  Fügt ein oder mehrere konstante Bytes in das Programm (kann eine
Zahl von 0..255 sein, ein ASCII-Zeichen 'c', eine Zeichenkette
"abcde" oder ein Gemisch wie z.B. 1,2,3,'a',"abc". Im
Programmraum muss die Anzahl der eingefügten Bytes geradzahlig sein,
weil der Programmspeicher immer nur ganze 16-Bit-Worte enthalten kann,
andernfalls wird vom Assembler ein Nullbyte angefügt.)

.DW  Fügt ein binäres Wort in den Programmraum ein (produziert z.B. eine
Tabelle im Code!)

http://www.avr-asm-tutorial.net/avr_de/beginner/rechnen.html#Db

Gruss Jens

von Topsoft (Gast)


Lesenswert?

Hallo,

LPM oder ELPM sollten dein Problem lösen wenn ich dich richtig
verstanden habe.

Gruß Topsoft

von jmoney (Gast)


Lesenswert?

Denk dran, dass du die beiden Adressregister für lpm (Z) mit Label*2
lädst, denn lpm spricht den flash byteweise an, während der PC
wordweise arbeitet..

von Hartmut Gröger (Gast)


Lesenswert?

Hi Johnny

Kurzes Prorammbeispiel

          ldi ZL,Low(Adresse*2)
          ldi ZH,High(Adresse*2)
          lpm                    ;nach R0

Mfg HG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.