Hallo Leute.
Ich nutze ein Linkerscript von Atollic Studio (schreibt man das so?).
Ich habe 2 versionen. In einem sind die RAM-Bereiche falsch. so by the
way:
Wie kann sowas passieren?
Aber meine Frage ist eine andere:
das erste LD-Skript setzt den Stackpointer auf: 0x20020000
das zweite auf: 0x2001FFFF
Letzte Adresse im ram ist: 0x2001FFFF. Habe das deshalb auch für richtig
gehalten :)
Jetzt lese ic gerade das Programming manual zum STM32 und da steht:
1 | The processor uses a full descending stack. Th
|
2 | is means the stack pointer indicates the last
|
3 | stacked item on the stack memory. When the processor pushes a new item onto the stack, it
|
4 | decrements the stack pointer and then writes
|
5 | the item to the new memory location.
|
Das bedeutet doch, dass mir bei dem Skript mit der Adresse 0x2001FFFF
ein byte fehlt, und dass die erste Variane richtig ist, oder?
Und auch hier wieder die Frage: Warum zur Hölle hat eigentlich jedes
Linkerskript hundert Fehler?