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.
Danke, funktioniert. Hab nur im Speicher Tutorial nachgeschaut, auf die Idee bei den Macros nach zu schauen, bin ich nicht gekommen. Hatte eigentlich erwartet, dass der Assembler das selber kann.
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 | ...
|
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ß.
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.