Forum: Mikrocontroller und Digitale Elektronik PIC asm Daten in Flash ablegen.


von Sandro (Gast)


Lesenswert?

Wie kann ich in Mplab mit asm daten im Flash des PICs ablegrn?
Mein Ziel ist, dass an der gewünsten Adresse anstatt dem Befehl neine 
1bit Zahl steht. Das soll eibe Datentabelle werden. Natürlich werde ich 
dafür sorgen, dass der pic nie versucht die tabellr als program 
abzuarbeiten. Eine tabelle mit retlw scheidet leider aus, da ich 10but 
breite zahlen habe. Geleseb wird die Tabelle dan ähnlich wue das 
EEPROM...

Danke für euere Hilfe...

von Chris B. (dekatz)


Lesenswert?

Mit DT
z.b.: DT 0x0,0x3F,0xFF,0xFC,0x5F,0x70 ........

von Chris B. (dekatz)


Lesenswert?

Achso 10-Bit breite Zahlen habe ich überlesen..dann also mit
data   0xffff,0xaa55,.....

von TK (Gast)


Lesenswert?

Den Text vor dem Absenden einmal durchlesen und wenigstens die gröbsten
Schreibfehler korrigieren hilft dem nächsten Betrachter auf jeden Fall 
weiter.

OK - Du kannst doch die Tabelle mit 2 retlw ablegen und berechnest dann
einfach die Einsprungadr. mit TabAnfang + 2xEinsprungposition.
Dort springst Du mit einem call hin, inkrementierst die Adr. und 
springst
nochmal mit einem call hin. Dann bekommst Du einen 16bit Wert und 
schiebst diesen so hin, wie Du das brauchst. Stichwort ist hierbei 
"computed goto" / "computed call".

Gruß
TK

von Sandro (Gast)


Lesenswert?

http://www.sprut.de/electronic/pic/assemble/pseudo.html#da

Ich glaube da ist was ich brauche...
Das mit dem retlw hab ich schon ein paar Mal gemacht, gefällt mir in 
diesem Fall aber nicht, da ich doppelt so viel Flash brauche, da ich für 
jede zahl 2 Befehle im Flash habe...

von Teo D. (teoderix)


Lesenswert?

Falls es dazu noch Fragen gibt, lies mal den Thread.
Beitrag "Pic Assembler Pseudo-Befehl DA?"

von Sandro (Gast)


Lesenswert?

Vielen Dank für eure Hilfe :-)

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.