Boot ROM for the Other Members of the UCD3138 Family
448
SNIU028A – February 2016 – Revised April 2016
Copyright © 2016, Texas Instruments Incorporated
Boot ROM and Boot Flash
13.8 Boot ROM for the Other Members of the UCD3138 Family
13.8.1 UCD3138064 and UCD3138064A
The ROM program changed for the UCD3138064. Instead of 2 checksums on the UCD3138, there are
now 4 locations for checksums on the UCD3138064, and one of these checksums double-jobs to cover
two possible program code spaces. The checksums and their locations are:
Table 13-4. Checksums Used By UCD3138064 Boot ROM Program
Checksum Location
Purpose
0x07FC
Checksum for 2kB boot in program flash 1
0x7FFC
Checksum for 32kB program in program flash 1
0x87FC
Checksum for 2kB boot in program flash 2
0xFFFC
Checksum for 32kB program in program flash 2 or
Checksum for 64kB program in program flash 1 and 2
The checksum locations in
assume that program flash block 1 is mapped to address 0x0000,
and program flash block 2 is mapped to 0x8000.
Figure 13-3. UCD3138064 Boot ROM Execution After Power-on/Reset
is a flowchart showing the order in which the ROM verifies the integrity of the program flash
contents using the different checksums. The branch instruction check at the very beginning prevents the
Boot ROM checksum test checking the integrity of an empty block of program flash (as if the program
flash was filled with 0x00, then the checksum test would pass).
If program flash block 1 is mapped to address 0x0000, program flash block 2 is mapped to address
0x8000, and vice-versa.
The UCD3138 has a PMBus command called “execute flash” with a command code of 0xF0. This causes
the program to execute. On the UCD3138064, the same command code causes program flash block 1 to
be placed in control. A new command code of 0xF7 has been added for the UCD3138064, which maps
program flash block 2 to address 0x0000 and starts executing from there. See section 14.5.3 for more
details on the “execute flash” command.