AVR Assembler Alignment von Daten im Flash

Gast #6877062
Lesenswert?

Hallo,

gibt es eine Möglichkeit dem AVR Assembler (2.1.42) mitzuteilen das 
dieser Daten im Flash an einer bestimmten Byte(Word) Position 
ausrichtet? In meinem Fall geht es um jeweils 256 Byte Daten, die ich 
gerne an der nächsten 256 Byte Grenze ausrichten möchte damit ich mich 
fürs LPM nur um ZL kümmern muss. Aktuell liegt das Array hinter meinem 
eigentlichen Programm und ich habe den Platz dazwischen manuell mit NOPs 
aufgefüllt um das Array auf eine 256 Byte Grenze zu schieben. Ich würde 
das aber gerne automatisch vornehmen lassen weil ich sonst bei (längen) 
Änderungen am Programm immer die NOPs anpassen muss.
Persönliche Seite #6877089
Lesenswert?

Tim T. schrieb:
> gibt es eine Möglichkeit dem AVR Assembler (2.1.42) mitzuteilen das
> dieser Daten im Flash an einer bestimmten Byte(Word) Position
> ausrichtet?

Einfach am Programm-Ende ein Label angeben und die Daten auflisten.
Dann folgen die Daten direkt dem Programm.
Das Z-Register wird mit diesem Label geladen. Das ist schon alles.

Eine feste Adresse für die Daten im 256-Byte-Raster ansonsten per:
1
.ORG  Daten_Segment
2
Daten_Label:
3
    ...
Gast #6877109
Lesenswert?

Eberhard H. schrieb:
> Tim T. schrieb:
>> gibt es eine Möglichkeit dem AVR Assembler (2.1.42) mitzuteilen das
>> dieser Daten im Flash an einer bestimmten Byte(Word) Position
>> ausrichtet?
>
> Einfach am Programm-Ende ein Label angeben und die Daten auflisten.
> Dann folgen die Daten direkt dem Programm.
> Das Z-Register wird mit diesem Label geladen. Das ist schon alles.

Das Problem daran ist, in meinem Programm ist das alles sehr 
zeitkritisch und ich keine Zeit habe ZH und ZL zu setzen, darum wollte 
ich das Ganze eben an 256 Byte ausrichten damit ich mir im 
zeitkritischen Bereich keine Gedanken um ZH machen muss.

> Eine feste Adresse für die Daten im 256-Byte-Raster ansonsten per:
>
>
1
.ORG  Daten_Segment
2
> Daten_Label:
3
>     ...
4
>

Stimmt, könnte die Arrays natürlich auch direkt fest ans Ende des Flash 
schreiben. Danke für den Denkanstoß.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren