IAR - Stack Organization i IAR for ARM kompilatoren

T

thavali

Guest
når jeg bruker CodeVisionAVR for 8 bits AVR, og RAM-minne Organisasjonen består (vedlagt fil):

- Registrerer.

: area is used to dynamically store local variables, passing function parameters and saving registers R0, R1, R15, R22, R23, R24, R25, R26, R27, R30, R31 and SREG during interrupt routine servicing.

- T han Data Stack:
Området er brukt til å dynamisk store lokale variabler, passerer funksjon parametre og lagre registrerer R0, R1, R15, R22, R23, R24, R25, R26, R27, R30, R31 og SREG under avbruddsordrelinje rutinemessig service.
Data Stack Pointer er implementert ved hjelp av Y register.
is used to statically store the global variables during program execution.

- Den globale variabler er
vant til statisk store globale variabler under programmet kjøres.Størrelsen på dette området kan bli beregnet ved å summing størrelsen på alle erklært globale variabler.
is used for storing the functions return addresses.

- Maskinvare Stack området
brukes til lagring av funksjonene returnere adresser.
SP register brukes som stakk pekeren og er initialisert ved oppstart med verdien av _HEAP_START_ -1 adresse.
Under programmet kjøres Maskinvareakselerasjon Stack vokser nedover til den globale variabler området.
is a memory area located between the Hardware Stack and the RAM end.

- The Heap
er en minneplassering området ligger mellom maskinvare Stack og RAM slutten.
Det er brukt av hukommelse tildeling funksjoner fra Standard Library: malloc, calloc, realloc og gratis.men i IAR for ARM, så jeg kan ikke finne minneområdet i SRAM correlative med maskinvaren Stack området CodevisionAVR. Hvor er brukt til å lagre funksjonene returnere adresser?

for eksempel med en Rekursiv funksjon, størrelse LR register er ikke nok til å lagre returnere adresser.

Takk,
thavali

 
Hei

Det er ikke tilrådelig å bruke Rekursiv funksjon med microcontrollers!

I IAR kompilatoren kan du angi størrelsen på heap-minnet i prosjektet satt opp eller drectly i koblingsfunksjonalitet installasjonsfilen

Alle de beste

Bobi

 
Takk,

At jeg kan finne i stabelen der i stakken brukes til å lagre lokale variabler, hvor i stakken brukes til å lagre returnere adresser, eller de fungerer som kompilatoren skal operere i auto og vi kan ikke styre, håndtere?.

 

Welcome to EDABoard.com

Sponsor

Back
Top