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
.ebss:>
M0SARAM
.cinit:> FLASH
.stack:> M1SARAM
}
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.
MEMORY
{
}
SECTIONS
{
}
2 - 14
PAGE 0
PAGE 1
PAGE 0
PAGE 1
Linker Command File
Linker Command File
MEMORY
{
PAGE 0:
PAGE 0:
FLASH:
FLASH:
org = 0x3D8000,
org = 0x3D8000,
PAGE 1:
PAGE 1:
M0SARAM:
M0SARAM:
org = 0x000000,
org = 0x000000,
M1SARAM:
org = 0x000400,
M1SARAM:
org = 0x000400,
}
SECTIONS
{
.text:>
.text:>
.
ebss
:>
.
ebss
:>
.
.
cinit
cinit
:>
:>
.stack:>
.stack:>
}
/* Program Space */
/* Program Space */
len
len
/* Data Space */
/* Data Space */
len
len
len
len
FLASH
PAGE 0
FLASH
PAGE 0
M0SARAM
PAGE 1
M0SARAM
PAGE 1
FLASH
FLASH
PAGE 0
PAGE 0
M1SARAM
PAGE 1
M1SARAM
PAGE 1
C28x - Programming Development Environment
= 0x20000
= 0x20000
= 0x400
= 0x400
= 0x400
= 0x400