Hallo,
Also ich weiß nicht genau, ob da irgendwo ein Zusammenhang besteht,
aber Stack wird immer von hinten nach vorne aufgebaut...
Wie dir Eric102 beispielhaft geschrieben hat, hat der Stackpointer was mit RAMEND zu tun...
Ramend ist einfach die letzte SRAM Speicherzelle, die auf dem Chip vorhanden ist.
Es ist dann wohl auch klar, daß Ramend von Mega zu Mega anders ist, je nachdem wieviel Speicher der Chip besitzt.
ich habe einen Blick in die iom128.h geworfen und ziemlich unten fast an ende der Datei
steht folgendes:
Code:
#define RAMEND 0x10FF /* Last On-Chip SRAM Location */
Das heißt die letzte Speicherzelle des Mega128 befindet sich bei 0x10FF,
und daraus mach der Compiler wohl irgendwie den Stackpointer.
Wenn Du aber noch externes SRAM hast müsste das alles verschoben werden, sonst kann ja passieren, daß Du dir den Stackinhalt überschreibst.
Gruß Sebastian
Lesezeichen