www.ti.com
Building the Boot Table
213
SPRUI07–March 2020
Submit Documentation Feedback
Copyright © 2020, Texas Instruments Incorporated
Boot ROM
Table 2-17. CPU Register Restored Values
Register Value Register Value
ACC 0x0000 0000 P 0x0000 0000
XT 0x0000 0000 RPC 0x00 0000
XAR0-XAR7 0x0000 0000 DP 0x0000
ST0 0x0000 15:10 OVC = 0 ST1 0x0A0B 15:13 ARP = 0
9:7 PM = 0 12 XF = 0
6 V = 0 11 M0M1MAP = 1
5 N = 0 10 reserved
4 Z = 0 9 OBJMODE = 1
3 C = 0 8 AMODE = 0
2 TC = 0 7 IDLESTAT = 0
1 OVM = 0 6 EALLOW = 0
0 SXM = 0 5 LOOP = 0
4 SPA = 0
3 VMAP = 1
2 PAGE0 = 0
1 DBGM = 1
0 INTM = 1
2.3 Building the Boot Table
This chapter explains how to generate the data stream and boot table required for the bootloader.
2.3.1 The C2000 Hex Utility
To use the features of the bootloader, you must generate a data stream and boot table as described in
Section 2.2.10. The hex conversion utility tool, included with the 28x code generation tools, can generate
the required data stream including the required boot table. This section describes the hex2000 utility. An
example of a file conversion performed by hex2000 is described in .
The hex utility supports creation of the boot table required for the SCI, SPI, I2C, eCAN, and parallel I/O
loaders. That is, the hex utility adds the required information to the file such as the key value, reserved
bits, entry point, address, block start address, block length and terminating value. The contents of the boot
table vary slightly depending on the boot mode and the options selected when running the hex conversion
utility. The actual file format required by the host (ASCII, binary, hex, etc.) will differ from one specific
application to another and some additional conversion may be required.
To build the boot table, follow these steps:
1. Assemble or compile the code.
This creates the object files that will then be used by the linker to create a single output file.
2. Link the file.
The linker combines all of the object files into a single output file in common object file format (COFF).
The specified linker command file is used by the linker to allocate the code sections to different
memory blocks. Each block of the boot table data corresponds to an initialized section in the COFF file.
Uninitialized sections are not converted by the hex conversion utility. The following options may be
useful:
The linker -m option can be used to generate a map file. This map file will show all of the sections that
were created, their location in memory and their length. It can be useful to check this file to make sure
that the initialized sections are where you expect them to be.
The linker -w option is also very useful. This option will tell you if the linker has assigned a section to a
memory region on its own. For example, if you have a section in your code called ramfuncs.