The SECTIONS Directive

You can convert specific sections of the object file by name with the hex conversion utility SECTIONS directive. You can also specify those sections that you want to locate in ROM at a different address than the load address specified in the linker command file. If you:

Uninitialized sections are never converted, whether or not you specify them in a SECTIONS directive.

NOTE

Sections Generated by the C/C++ Compiler

The TMS320C6000 C/C++ compiler automatically generates these sections:

Use the SECTIONS directive in a command file. (See Section 10.2.2.) The general syntax is:

SECTIONS
{
oname(sname)[:] [paddr=value]
oname(sname)[:] [paddr=boot]
oname(sname)[:] [boot]

...
}
SECTIONS begins the directive definition.
oname identifies the object filename the section is located within. The filename is optional when only a single input file is given, but required otherwise.
sname identifies a section in the input file. If you specify a section that does not exist, the utility issues a warning and ignores the name.
paddr=value specifies the physical ROM address at which this section should be located. This value overrides the section load address given by the linker. This value must be a decimal, octal, or hexadecimal constant. It can also be the word boot (to indicate a boot table section for use with a boot loader). If your file contains multiple sections, and if one section uses a paddr parameter, then all sections must use a paddr parameter.
boot configures a section for loading by a boot loader. This is equivalent to using paddr=boot. Boot sections have a physical address determined by the location of the boot table. The origin of the boot table is specified with the --bootorg option.

For more similarity with the linker's SECTIONS directive, you can use colons after the section names (in place of the equal sign on the boot keyboard). For example, the following statements are equivalent:

SECTIONS { .text: .data: boot } SECTIONS { .text: .data = boot }

In the example below, the object file contains six initialized sections: .text, .data, .const, .vectors, .coeff, and .tables. Suppose you want only .text and .data to be converted. Use a SECTIONS directive to specify this:

SECTIONS { .text: .data: }

To configure both of these sections for boot loading, add the boot keyword:

SECTIONS { .text = boot .data = boot }

NOTE

Using the --boot Option and the SECTIONS Directive

When you use the SECTIONS directive with the boot table (--boot) option, the --boot option is ignored. You must explicitly specify any boot sections in the SECTIONS directive. For more information about --boot and other command line options associated with boot tables, see Section 10.2.