Titelbild Mikrocontroller

2.2. Stack und Stackpointer des Xmega384

Der Stackpointer (SP) besteht aus zwei Registern (SPH und SPL) und zeigt immer auf die Spitze des Stapels. Der Stapel wächst von den hohen Speicheradressen zu den kleineren Adressen. Nach einem Reset zeigt der Stackpointer auf die oberste Adresse des internen SRAM. Beim Aufruf von Interrupt Routinen oder Unterprogrammen wird die Rücksprungadresse automatisch auf dem Stack gespeichert.

Bei Bausteinen mit mehr als 128kByte RAM werden 3 Byte als Rücksprungadresse gespeichert, da der Program Counter (PC) 3 Byte umfasst (18 Bit beim Xmega 384 D3).

Hintergrund: mit 2 Byte/16 Bit können max. 64k adressiert werden. Da an jeder Adresse ein 16bit Word (2 Byte) gespeichert wird, ergibt sich mit 16 Adressbits 128kByte bzw. 64kWord. Die 384kByte RAM in der Bausteinbezeichnung bedeuten, dass 384kByte Programmspeicher vorhanden sind. Es können aber nur 384k/2=192k Words gespeichert werden, also nur 192k Befehle. Mit dem 18 Bit breiten PC können max. 256k adressiert werden, da an jeder Stelle 2 Byte / 1 Word gespeichert wird, wären max. 512k Byte möglich.
« zurück:
2.1. SREG
» weiter:
2.3. Register File
Impressum