SPRU513Z August 2001 – October 2023 SM320F28335-EP
To build the boot table, follow these steps:
Step 1: | Link the file. Each block of the boot table data corresponds to an initialized section in the object file. Uninitialized sections are not converted by the hex conversion utility (see Section 12.5). |
When you select a section for placement in a boot-loader table, the hex conversion utility places the section's load address in the destination address field for the block in the boot table. The section content is then treated as raw data for that block. The hex conversion utility does not use the section run address. When linking, you need not worry about the ROM address or the construction of the boot table; the hex conversion utility handles this. | |
Step 2: | Identify the bootable sections. You can use the --boot option to tell the hex conversion utility to configure all sections for boot loading. Or, you can use a SECTIONS directive to select specific sections to be configured (see Section 12.5). If you use a SECTIONS directive, the --boot option is ignored. |
Step 3: | Set the boot table format. Specify the --gpio8, --gpio16, --sci8, or --spi8 options to set the source format of the boot table. You do not need to specify the memwidth and romwidth as the utility will set these formats automatically. If --memwidth and --romwidth are used after a format option, they override the default for the format. |
Step 4: | Set the ROM address of the boot table. Use the --bootorg option to set the source address of the complete table. For example, if you are using the C28x and booting from memory location 0x3FF000, specify --bootorg=0x3FF000. The address field for the boot table in the hex conversion utility output file will then start at 0x3FF000. |
Step 5: | Set boot-loader-specific options. Set entry point and control register values as needed. |
Step 6: | Describe your system memory configuration. See Section 12.3 and Section 12.4. |