Building a Table for an On-Chip Boot Loader
10-28
10.9 Building a Table for an On-Chip Boot Loader
Some DSP devices, such as the ’C54x, have a built-in boot loader that initial-
izes memory with one or more blocks of code or data. The boot loader uses
a special table (a
boot table) stored in memory (such as EPROM) or loaded
from a device peripheral (such as a serial or communications port) to initialize
the code or data. The hex conversion utility supports the boot loader by auto-
matically building the boot table.
10.9.1 Description of the Boot Table
The input for a boot loader is the boot table. The boot table contains records
that instruct the on-chip loader to copy blocks of data contained in the table to
specified destination addresses. Some boot tables also contain values for ini-
tializing various processor control registers. The boot table can be stored in
memory or read in through a device peripheral.
The hex conversion utility automatically builds the boot table for the boot
loader. Using the utility, you specify the COFF sections you want the boot
loader to initialize, the table location, and the values for any control registers.
The hex conversion utility identifies the target device type from the COFF file,
builds a complete image of the table according to the format required by that
device, and converts it into hexadecimal in the output files. Then, you can burn
the table into ROM or load it by other means.
The boot loader supports loading from memory that is narrower than the nor-
mal width of memory. For example, you can boot a 16-bit TMS320C54x from
a single 8-bit EPROM by using the –memwidth option to configure the width
of the boot table. The hex conversion utility automatically adjusts the table’s
format and length. See the boot loader example in the
TMS320C54x DSP Ref-
erence Set for an illustration of a boot table.
10.9.2 The Boot Table Format
The boot table format is simple. Typically, there is a header record containing
the width of the table and possibly some values for various control registers.
Each subsequent block has a header containing the size and destination
address of the block followed by data for the block. Multiple blocks can be
entered; a termination block follows the last block. Finally, the table can have
a footer containing more control register values. See the boot loader section
in the
TMS320C54x DSP Reference Set for more information.
Summary of Contents for TMS320C54x
Page 38: ......
Page 39: ......
Page 40: ......
Page 41: ......
Page 42: ......
Page 43: ......
Page 44: ......
Page 45: ......
Page 46: ......
Page 47: ......
Page 48: ......
Page 49: ......
Page 50: ......
Page 51: ......
Page 52: ......
Page 53: ......
Page 54: ......
Page 55: ......
Page 56: ......
Page 57: ......
Page 58: ......
Page 59: ......
Page 60: ......
Page 61: ......
Page 62: ......
Page 276: ......
Page 277: ......
Page 278: ......
Page 279: ......
Page 280: ......
Page 281: ......
Page 282: ......
Page 283: ......
Page 284: ......
Page 285: ......
Page 286: ......
Page 287: ......
Page 288: ......
Page 289: ......
Page 290: ......
Page 291: ......
Page 292: ......
Page 293: ......
Page 294: ......
Page 295: ......
Page 296: ......
Page 297: ......
Page 298: ......
Page 299: ......
Page 300: ......
Page 301: ......
Page 302: ......