Programmering af Atmel 8515 i assembler - equates

Hej!

Hvordan laver man en equate run-time i en Atmel microcontroller? Jeg har flg. kode:

.equ IP1 = 192

som jeg gerne vil have ændret til et runtime valg, så jeg kan skifte 192 ud med hvad jeg har lyst til og bagefter lave denne statement (eller noget der gør det samme). Hvordan gør man dette?

--
Mvh, Kim Voss Schrader

OBS: Der kan max. attaches 30kb i e-mails til mig, ellers bouncer de.
Reply to
Kim Voss Schrader
Loading thread data ...

Du kan erstatte konstanten IP1 med et register:

.def RegIP1 = r25

Så skal du bare sørge for at det register indeholder din runtime værdi. Og så skal du omskrive alle steder i koden, hvor konstanten før blev brugt, til nu at bruge et register.

Hvis du ikke har et register til overs, som ikke bruges til noget, så bliver du nødt til at oprette variablen i RAM, og så hente den ind i et register hver gang den skal bruges.

M.v.h. Mikael

--
Mikael Ejberg Pedersen
http://www.ejberg.dk (Elektroniske dimser til modelflyvning)
Reply to
Mikael Ejberg Pedersen

Jeps, men jeg har sgutte særligt mange registre til overs :o) Gid man have lavet koden i C fra starten af...

Jeps, det var også min backup-løsning. Kunne egentligt have sagt mig selv, at der ikke var en metode til at lave en equate siden en 8515 ikke kan programmere sin egen flash.

Gad vide om man kan på f.eks. en ATMega128... Oh well :)

--
Mvh, Kim Voss Schrader

OBS: Der kan max. attaches 30kb i e-mails til mig, ellers bouncer de.
Reply to
Kim Voss Schrader

Jeg bruger konsekvent SRAM'en til langt de fleste variable. Jeg har gerne 10-15 registre til overs, som jeg ikke aner hvad jeg skal bruge til ;-)

Det kunne du vel nok, men så skal du bare bruge en hel masse mere ram. Du bliver nødt til at gemme en hel flashpage i ram, indtil flashen er reprogrammeret. Jeg vil mene at den idé er dødfødt fra starten. Så hellere bare gemme den ene variabel i ram i stedet for.

M.v.h. Mikael

--
Mikael Ejberg Pedersen
http://www.ejberg.dk (Elektroniske dimser til modelflyvning)
Reply to
Mikael Ejberg Pedersen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.