ARM VERSION 1.2 Computer Hardware User Manual


 
Directives Reference
ARM DUI 0068B Copyright © 2000, 2001 ARM Limited. All rights reserved. 7-53
Identical ELF sections with the same name are overlaid in the
same section of memory by the linker. If any are different, the
linker generates a warning and does not overlay the sections.
See the Linker chapter in ADS Linker and Utilities Guide.
COMMON
Is a common data section. You must not define any code or
data in it. It is initialized to zeroes by the linker. All common
sections with the same name are overlaid in the same section
of memory by the linker. They do not all need to be the same
size. The linker allocates as much space as is required by the
largest common section of each name.
DATA
Contains data, not instructions.
READWRITE
is the default.
NOINIT
Indicates that the data section is uninitialized, or initialized to
zero. It contains only space reservation directives
SPACE
or
DCB
,
DCD
,
DCDU
,
DCQ
,
DCQU
,
DCW
, or
DCWU
with initialized values of zero.
You can decide at link time whether an
AREA
is uninitialized or
zero-initialized (see the Linker chapter in ADS Linker and
Utilities Guide).
READONLY
Indicates that this section should not be written to. This is the
default for Code areas.
READWRITE
Indicates that this section can be read from and written to. This
is the default for Data areas.
Usage
Use the
AREA
directive to subdivide your source file into ELF sections. You can use the
same name in more than one
AREA
directive. All areas with the same name are placed in
the same ELF section.
You should normally use separate ELF sections for code and data. Large programs can
usually be conveniently divided into several code sections. Large independent data sets
are also usually best placed in separate sections.
The scope of local labels is defined by
AREA
directives, optionally subdivided by
ROUT
directives (see Local labels on page 3-16 and ROUT on page 7-68).
There must be at least one
AREA
directive for an assembly.
Example
The following example defines a read-only code section named Example.
AREA Example,CODE,READONLY ; An example code section.
; code