Hallo,
wenn ich auf meinem uC (AT90CAN128) lpm bzw. elpm ausführe, erhalte ich
nur 0xFF als Ergebnis in Register 0. Aber bereits an der Startadresse
stehen eigentlich sinnvolle Werte - weil ich die vorher hinschreibe :)
Die Bootlockbits stehen richtig: no lock on SPM and LPM in Application
Section.
Die folgende Testschleife soll mir zeigen, ob überhaupt irgendwo im
flash etwas Sinnvolles steht...
ldi zh, 0x00
ldi zl, 0x00
ldi r20, 0
out RAMPZ, r20
mav_loop:
;elpm
lpm
adiw zl, 1
mov r20, r0
cpi r20, 0xFF
breq mav_loop
nop
Habt Ihr irgendwelche Ideen, woran es liegt, daß ich nichts Sinnvolles
lesen kann?
Danke + viele Grüße,
Rüdiger
... uuuund die Antwort ist: da ich vorher eine Schreiboperation auf der RWW-Sektion ausgeführt hatte, mußte vor einem Lesezugriff noch das RWWSRE-Bit im SPMCSR gesetzt werden. Danach funktioniert's!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.