Hallo,
mir ist aufgefallen, wenn ich die Option -nostartfiles in Atmel Studio 7
nutze, dass Strings die ich über Uart senden möchte nicht Ausgegeben
werden. Grund dafür ist, dass das erzeugte Programm den Text aus dem
Flash nicht ins RAM kopiert. Die Funktion __do_copy_data wird zwar
eingefügt aber nie Aufgerufen. Warum ist das so? Selbes Phänomen ist mir
auch bei dem Attiny2313 und ATmega32 aufgefallen.
Erstelle ich mir eine eigene __do_copy_data werden die Strings korrekt
ausgegeben.
Eine Vermutung von mir wäre, dass ich mit dem falschen Sektor arbeite,
allerdings habe ich dazu nicht viel gefunden.
1 | __attribute__((section(".ctors"))) void boot(void)
|
Ich füge mal das Programm mit an. Mein Ziel wäre quasi das nur die
Interrupt Tabelle nicht eingefügt wird, dafür aber die
Stackinitialisierung und das Kopieren der Texte ins RAM.
Danke für eure Antworten oder Hilfe.
BG
Umbrecht