ARM VERSION 1.2 Scheda Tecnica Pagina 159

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 276
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 158
The C and C++ Libraries
ARM DUI 0067D Copyright © 1999-2001 ARM Limited. All rights reserved. 4-69
4.9.4 __user_initial_stackheap()
Returns the locations of the initial stack and heap.
Syntax
__value_in_regs struct __initial_stackheap__user_initial_stackheap (unsigned
R0, unsigned SP, unsigned R2, unsigned SL)
Implementation
Note
If you are using scatter-loading files with the linker, you must reimplement this
function. The default implementation uses the value of the symbol
Image$$ZI$$Limit
.
This symbol is not defined if the linker uses a scatter-loading file (
-scatter
command-line option).
If this function is redefined, it must:
use no more than 96 bytes of stack
not corrupt registers other than r12 (ip)
return in r0-r3 respectively the heap base, stack base, heap limit, and stack limit
maintain 8-byte alignment of the heap.
For the default single region model, the values in r2 and r3 are ignored and all memory
between r0 and r1 is available for the heap. For a two region model, the heap limit is set
by r2 and the stack limit is set by r3.
The values of sp and sl inherited from the environment are passed as arguments in r1
and r3, respectively. The default implementation of
__user_initial_stackheap()
that
uses the semihosting SWI SYS_HEAPINFO is given by the library in module
sys_stackheap.o
.
To create a version of
__user_initial_stack_heap()
that inherits sp and sl from the
execution environment and does not have a heap, set r0 and r2 to the value of r3 and
return.
The definition of
__initial_stackheap
in
rt_misc.h
is:
struct __initial_stackheap{
unsigned heap_base, stack_base, heap_limit, stack_limit;}
See also the re-implementation of this function in
\Examples\Embedded\embed\retarget.c
.
Vedere la pagina 158
1 2 ... 154 155 156 157 158 159 160 161 162 163 164 ... 275 276

Commenti su questo manuale

Nessun commento