Creating a Linker Command File
Section Placement
You can specify how you want the sections to be distributed through memory. You would use the
following code to link the sections into the memory specified in the previous example:
SECTIONS
{
.text:> FLASH PAGE 0
.ebss:> M0SARAM PAGE 1
.cinit:> FLASH PAGE 0
.stack:> M1SARAM PAGE 1
}
The linker will gather all the code sections from all the files being linked together. Similarly, it
will combine all ‘like’ sections.
Beginning with the first section listed, the linker will place it into the specified memory segment.
Linker Command File
Linker Command File
MEMORY
MEMORY
{
{
PAGE 0:
PAGE 0:
/* Program Space */
/* Program Space */
FLASH: org = 0x3D8000,
FLASH: org = 0x3D8000,
len
len
= 0x20000
= 0x20000
PAGE 1:
PAGE 1:
/* Data Space */
/* Data Space */
M0SARAM: org = 0x000000,
M0SARAM: org = 0x000000,
len
len
= 0x400
= 0x400
M1SARAM: org = 0x000400,
M1SARAM: org = 0x000400,
len
len
= 0x400
= 0x400
}
}
SECTIONS
SECTIONS
{
{
.text:> FLASH PAGE 0
.text:> FLASH PAGE 0
.
.
ebss
ebss
:> M0SARAM PAGE 1
:> M0SARAM PAGE 1
.
.
cinit
cinit
:> FLASH PAGE 0
:> FLASH PAGE 0
.stack:>
.stack:>
M1SARAM
M1SARAM
PAGE 1
PAGE 1
}
}
2 - 14 C28x - Programming Development Environment