Embedded Target for Texas Instruments C6000 DSPs    

TI C6000 Linker Options

As shown in the figure, you can configure the TI C6000 linker to perform certain operations and use specified files. Note that the linker, not the compiler, defines the memory map used and allocated code and data into memory on the target. Refer to Texas Instruments TMS320C000 Optimizing C Compiler User's Guide and to the online help in CCS for more details about using memory maps and models on the target processor.

Retain .obj files. The linker uses object (.obj extension) files to generate a single executable common object file format (COFF) file that you run on the C6701 EVM or C6711 DSK. Select this option to direct Real-Time Workshop and the Embedded Target for TI C6000 DSP to save your object (.obj) files after creation. Real-Time Workshop saves the files to your current directory. Saving your .obj files can speed up the compile process by not having to compile files that you have not changed since you most recently compiled your project. Retaining the .obj files is the default setting for new projects.

Create .map file. You can direct the linker to produce a map of the input and output sections, including null areas, and place the listing in a file in your current directory with the name modelname.map. When you clear this check box, the linker does not produce the listing. New projects do not create the .map file.

Linker command file. Specifies the linker command file to use when the linker runs. Linker command files contain linker or hex conversion utility options and the names of input files to the linker or hex conversion utility. You select one of the file options from the list:

Notes about Using The Linker Command File Options

Which option you select for the linker command file options affects how the Embedded Target for TI C6000 DSP handles near and far data and calls. By default, the Embedded Target for TI C6000 DSP, and the TI compiler, generate small memory models that use near calls and data exclusively. Near calls require only one operation; far calls require more operations. As a consequence, programs and code that use far calls run more slowly. You should refer to your CCS documentation for details about near and far data objects and the near and far functions calls.

When you select the Internal_memory_map option, the Embedded Target for TI C6000 DSP specifies that only near calls get used to access static and global data objects. Internal_memory_map represents the most efficient memory use. In CCS, the equivalent setting is choosing Near Calls & Data for the Memory Models option in the build configuration.

If you select Internal_memory_map, but your data or program requires far calls, the TI compiler returns an error message like the following in the CCS IDE

or

indicating that your data does not fit in internal memory or your code or program do not fit in internal memory. To eliminate these errors, select Full_memory_map.

Use the Full_memory_map selection when either or both of the following conditions are true:

In the above instances, the TI linker issues the error message shown earlier if you select the Internal_memory_map setting when your program meets the conditions specified.

When you declare an object or data as far, its address is loaded into a register and the compiler does an indirect load of that register (the -mln option in the Memory Models in the project build configuration). For more information on the -mln option, refer to your CCS documentation.

You can avoid the error by selecting Full_memory_map for the Linker Command File option. This prevents the compiler from using near calls, offering you the ability to use all the available memory on your target. But note that your program may run more slowly than if you use the internal map option and your data and program fit into memory without needing far calls for access.

User linker command file. When you select the User defined option for Linker command file, enter the name of your command file in this box. If the file is not in your current directory, provide the full pathname for the file.


  TI C6000 Compiler Options TI C6000 Run-Time Options