Using the C28x Boot Loader

This subsection explains how to use the hex conversion utility with the boot loader for C28x devices. The C28x boot loader accepts the formats listed in Table 12-3.

Table 12-3 Boot Table Source Formats

Format Option
Parallel boot GP I/O 8 bit --gpio8
Parallel boot GP I/O 16 bit --gpio16
8-bit SCI boot --sci8
8-bit SPI boot --spi8

The F2810/12 can boot through the SCI-A 8-bit, SPI-A 8-bit, GP I/O 8-bit, or GP I/I 16-bit interface. The format of the boot table is shown in Table 12-4.

Table 12-4 Boot Table Format

Description Word Content
Boot table header 1 Key value (0x10AA or 0x08AA)
2-9 Register initialization value or reserved for future use
10-11 Entry point
Block header 12 Block size in number of words (n1)
13-14 Destination address of the block
Block data 15 Raw data for the block (n1 words)
Block header 16 + nl Block size in number of words
. Destination address of the block
Block data . Raw data for the block
Additional block headers and data, as required ... Content as appropriate
Block header with size 0 0x0000; indicates the end of the boot table.

The C28x can boot through either the serial 8-bit or parallel interface with either 8- or 16-bit data. The format is the same for any combination: the boot table consists of a field containing the destination address, a field containing the length, and a block containing the data. You can boot only one section. If you are booting from an 8-bit channel, 16-bit words are stored in the table with MSBs first; the hex conversion utility automatically builds the table in the correct format. Use the following options to specify the boot table source:

The command file in Example 3 allows you to boot the .text and .cinit sections of test.out from a 16-bit-wide EPROM at location 0x3FFC00. The map file test.map is also generated.