Controlling the ROM Device Address
10-37
Hex Conversion Utility Description
10.10.4
Dealing With Address Holes
When memory width is different from data width, the automatic multiplication
of the load address by the correction factor might create holes at the beginning
of a section or between sections.
For example, assume you want to load a COFF section (.sec1) at address
0x0100 of an 8-bit EPROM. If you specify the load address in the linker com-
mand file at location 0x0100, the hex conversion utility will multiply the address
by 2 (data width divided by memory width = 16/8 = 2), giving the output file a
starting address of 0x0200. Unless you control the starting address of the
EPROM with your EPROM programmer, you could create holes within the
EPROM. The programmer will burn the data starting at location 0x0200
instead of 0x0100. To solve this, you can:
-
Use the paddr parameter of the SECTIONS directive. This forces a sec-
tion to start at the specified value. Figure 10–9 shows a command file that
can be used to avoid the hole at the beginning of .sec1.
Figure 10–9. Hex Command File for Avoiding a Hole at the Beginning of a Section
–i
a.out
–map a.map
ROMS
{
ROM : org = 0x0100, length = 0x200, romwidth = 8,
memwidth = 8
}
SECTIONS
{
sec1: paddr = 0x100
}
Note:
If your file contains multiple sections, and, if one section uses a paddr parameter,
then all sections must use the paddr parameter.
-
Use the –bootorg option or use the ROMS origin parameter (for boot
loading only). As described on page 10-35, when you are boot loading,
the EPROM address of the entire boot-loader table can be controlled by
the –bootorg option or by the ROMS directive origin.
-
For another example, see Section C.4,
Example 3: Generating a Boot
Table for Non-LP Core Devices, on page C-10.
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: ......