RTEMS CPU Architecture Supplement
The large memory model is more complex and less efficient
than the small memory model. However, it removes the
64K uninitialized data restriction from applications.
The dp
register is reloaded automatically
by the compiler each time data is accessed. This leads
to an increase in the code space requirements for the
application but gives it access to much more data space.
With the GNU Compiler Suite, large memory model is
selected by invoking the compiler with either the
-mlarge
or -mlargememoryXXX
argument.
This argument must be included when linking the application
in order to ensure that support libraries also compiled
for the large memory model are used.
The default memory model is XXX.
When this memory model is selected, the XXX
symbol is predefined by the C and C++ compilers
and the XXX
symbol is predefined by the assembler.
This behavior is the same for the GNU and Texas Instruments
toolsets. RTEMS uses these predefines to determine the proper handling
of the dp
register in those C3x/C4x specific routines
that were written in assembly language.
RTEMS CPU Architecture Supplement
Copyright © 1988-2004 OAR Corporation