MEM Module
2-208
❏
Text Section (.text)
. The memory segment containing the
executable code, string literals, and compiler-generated constants.
This segment can be located in ROM or RAM.
Tconf Name: TEXTSEG
Type: Reference
Example:
bios.MEM.TEXTSEG = prog.get("myMEM");
❏
Switch Jump Tables (.switch)
. The memory segment containing
the jump tables for switch statements. This segment can be located
in ROM or RAM.
Tconf Name: SWITCHSEG
Type: Reference
Example:
bios.MEM.SWITCHSEG = prog.get("myMEM");
❏
C Variables Section (.bss)
. The memory segment containing global
and static C variables. At boot or load time, the data in the .cinit
section is copied to this segment. This segment should be located in
RAM.
Tconf Name: BSSSEG
Type: Reference
Example:
bios.MEM.BSSSEG = prog.get("myMEM");
❏
Data Initialization Section (.cinit)
. The memory segment
containing tables for explicitly initialized global and static variables
and constants. This segment can be located in ROM or RAM.
Tconf Name: CINITSEG
Type: Reference
Example:
bios.MEM.CINITSEG = prog.get("myMEM");
❏
C Function Initialization Table (.pinit)
. The memory segment
containing the table of global object constructors. Global constructors
must be called during program initialization. The C/C++ compiler
produces a table of constructors to be called at startup. The table is
contained in a named section called .pinit. The constructors are
invoked in the order that they occur in the table. This segment can be
located in ROM or RAM.
Tconf Name: PINITSEG
Type: Reference
Example:
bios.MEM.PINITSEG = prog.get("myMEM");
❏
Constant Sections (.const, .printf)
. These sections can be located
in ROM or RAM. The .const section contains string constants and
data defined with the const C qualifier. The DSP/BIOS .printf section
contains other constant strings used by the Real-Time Analysis tools.
The .printf section is not loaded onto the target. Instead, the (COPY)
directive is used for this section in the .cmd file. The .printf section is
managed along with the .const section, since it must be grouped with
the .const section to make sure that no addresses overlap. If you
specify these sections in your own .cmd file, you’ll need to do
something like the following: