Getting Started With the Assembler and Linker
The two files, file1 and file2, can be linked together with or without a com- mand file. However, using a command file allows you to configure your memory using the MEMORY and SECTIONS directives:
-The MEMORY directive lets you specify a model of target memory so that you can define the types of memory your system contains and the address ranges they occupy.
-The SECTIONS directive describes how input sections are combined into output sections and specifies where output sections are placed in memory.
You can include the linker options and filenames in the linker command file, or you can enter them on the command line. If you do not include a linker command file, the linker uses a default allocation algorithm. Refer to the TMS470R1x Assembly Language Tools User's Guide for more in- formation about the linker command file and the default allocation algo- rithm.
Example 5±5. Sample Linker Command File, linker2.cmd
/* Specify the System Memory Map */ |
|
|
| |||
MEMORY |
|
|
|
|
|
|
{ |
|
|
|
|
|
|
D_MEM | : org = 0x00000000 | len = 0x00001000 | /* Data Memory | (RAM) */ | ||
P_MEM | : org = 0x00001000 | len = 0x00001000 | /* Program Memory (ROM) */ | |||
} |
|
|
|
|
|
|
/* Specify the Sections Allocation Into Memory */ |
|
| ||||
SECTIONS |
|
|
|
|
|
|
{ |
|
|
|
|
|
|
.data | : {} > D_MEM | /* Initialized Data */ |
|
| ||
.text | : {} > P_MEM | /* Code | */ |
|
| |
} |
|
|
|
|
|
|
Typing in the following command line using the linker command file shown in Example 5±5 results in the map file shown in Example 5±6.
lnk470 file1 file2 linker2.cmd ±m linker2.map ±o prog.out
Getting Started With the Code Generation Tools |