SPRUJH3 April 2025 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280023 , TMS320F280023C , TMS320F280025 , TMS320F280025C , TMS320F280034 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037C , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039C , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041C , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049C , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377S , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
The ROM loader requires data to be presented as a data stream and boot table. The structure is common to all ROM loaders and is described in detail in the Bootloader Data Stream Structure section of the device-specific TRM. Users can easily generate applications in this format using the hex2000 utility included with the TI C2000 compiler.
This file format can even be generated as part of the Code Composer Studio build process by adding a post-build step line in the project properties, as seen in Figure 4-1. The hex2000 utility can also be configured in a GUI by enabling the C2000 Hex Utility in the project properties and selecting the necessary conversion options.
In case of C2000 ROM bootloaders, the following line needs to be added to the post-build steps in the CCS Build (Project Properties > CCS Build > Steps > Post-build steps) for the firmware project loaded into the on-chip flash and the flash kernel project loaded into RAM:
SCI, CAN, CAN-FD Bootloading:
"${CG_TOOL_HEX}" "${BuildArtifactFileName}" -boot -sci8 -a -o "${BuildArtifactFileBaseName}.txt"
USB Bootloading:
"${CG_TOOL_HEX}" "${BuildArtifactFileName}" -boot -b -o "${BuildArtifactFileBaseName}.dat"
Figure 4-1 Adding Post-Build Steps to
Invoke the Hex Utility The hex utility supports creation of the boot table required for the SCI, SPI, I2C, CAN, and Parallel I/O loaders. 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, and so on) differs from one specific application to another and some additional conversion can be required.
See the TMS320C28x Assembly Language Tools User's Guide [11] for detailed description of the hex2000 options used to generate a boot table.