The Post-Link Optimizer’s Role in the Software Development Flow

The post-link optimizer is not part of the normal development flow. Figure 5-1 shows the flow including the post-link optimizer; this flow occurs only when you use the compiler and the -plink option.

Figure 5-1 The Post-Link Optimizer in the TMS320C28x Software Development Flow post_lnk_opt_pru514.gif

As the flow shows, the absolute lister (abs2000) is also part of the post-link optimizing process. The absolute lister outputs the absolute addresses of all globally defined symbols and COFF sections. The post-link optimizer takes .abs files as input and uses these addresses to perform optimizations. The output is a .pl file, which is an optimized version of the original .asm file. The flow then reruns the assembler and linker to produce a final output file.

The described flow is supported only when you use the compiler (cl2000) and the -plink option. If you use a batch file to invoke each tool individually, you must adapt the flow to use the compiler instead. In addition, you must use the --output_file option to specify an output file name when using the -plink option. See Section 5.8 for more details.

For example, replace these lines:

cl2000 file1.asm file1.obj cl2000 file2.asm file2.obj cl2000 --run_linker file1.obj file2.obj lnk.cmd --output_file=prog.out

with this line:

cl2000 file1.asm file2.asm --run_linker lnk.cmd --output_file=prog.out -plink

The advice_only mode is the only post-link optimization support provided for FPU and VCU targets.