Creating a Linker Command File
Creating a Linker Command File
Sections
Looking at a C program, you'll notice it contains both code and different kinds of data (global,
local, etc.).
Sections
Sections
Every C program
Every C program
consists of different
consists of different
parts called
parts called
sections
sections
All default sections
All default sections
names begin with “.”
names begin with “.”
The compiler has
The compiler has
default sections
default sections
names for
names for
initialized
initialized
and
and
uninitialized
uninitialized
sections
sections
int
int
x = 2;
x = 2;
int
int
y = 7;
y = 7;
void main(void)
void main(void)
{
{
long z;
long z;
z = x + y;
z = x + y;
}
}
Global Vars (.
ebss
ebss)
Init vals (
.
.
cinit
cinit)
Local vars (
.stack
.stack) Code (
.text
.text)
In the TI code-generation tools (as with any toolset based on the COFF – Common Object File
Format), these various parts of a program are called Sections. Breaking the program code and
data into various sections provides flexibility since it allows you to place code sections in ROM
and variables in RAM. The preceding diagram illustrated five sections:
• Global Variables
• Initial Values for global variables
• Local Variables (i.e. the stack)
• Code (the actual instructions)
C28x - Programming Development Environment 2 - 9