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.
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.
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.