Application Notes to Use Boot ROM
627
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
•
Length
The first length listed for each output section is the length for that entire output section. The following
length values are the lengths associated with that portion of the output section.
•
Attributes/input sections
This lists the input files that are part of the section or any value associated with an output section.
See the
TMS320C28x Assembly Language Tools User's Guide
(
) for detailed information on
generating a linker command file and a memory map.
All sections shown in
that are initialized need to be loaded into the DSP in order for the code
to execute properly. In this case, the codestart, ramfuncs, .cinit, myreset and .text sections need to be
loaded. The other sections are uninitialized and will not be included in the loading process. The map file
also indicates the size of each section and the starting address. For example, the .text section has 0x155
words and starts at 0x3FA000.
Example 6-5. GPIO34TOG Map File
output
attributes/
section
page
origin
length
input sections
--------
----
----------
----------
----------------
codestart
0
00000000
00000002
00000000
00000002
DSP280x_CodeStartBranch.obj (codestart)
.pinit
0
00000002
00000000
.switch
0
00000002
00000000
UNINITIALIZED
ramfuncs
0
00000002
00000016
00000002
00000016
DSP280x_SysCtrl.obj (ramfuncs)
.cinit
0
00000018
00000019
00000018
0000000e
rts2800_ml.lib : exit.obj (.cinit)
00000026
0000000a
: _lock.obj (.cinit)
00000030
00000001
--HOLE-- [fill = 0]
myreset
0
00000032
00000002
00000032
00000002
DSP280x_CodeStartBranch.obj (myreset)
IQmath
0
003fa000
00000000
UNINITIALIZED
.text
0
003fa000
00000155
003fa000
00000046
rts2800_ml.lib : boot.obj (.text)
To load the code using the CAN bootloader, the host must send the data in the format that the bootloader
understands. That is, the data must be sent as blocks of data with a size, starting address followed by the
data. A block size of 0 indicates the end of the data. The HEX2000.exe utility can be used to convert the
COFF file into a format that includes this boot information. The following command syntax has been used
to convert the application into an ASCII hex format file that includes all of the required information for the
bootloader:
Example 6-6. HEX2000.exe Command Syntax
C: HEX2000 GPIO34TOG.OUT -boot -gpio8 -a
Where:
- boot
Convert all sections into bootable form.
- gpio8
Use the GPIO in 8-bit mode data format. The eCAN
uses the same data format as the GPIO in 8-bit mode.
- a
Select ASCII-Hex as the output format.