Boot ROM for the Other Members of the UCD3138 Family
451
SNIU028A – February 2016 – Revised April 2016
Copyright © 2016, Texas Instruments Incorporated
Boot ROM and Boot Flash
The locations above assume that Block 0 is mapped to address 0x0000, Block 1 is mapped to address
0x8000, Block 2 is mapped to address 0x10000, and Block 3 is mapped to 0x18000.
Figure 13-5. UCD3138128 Boot ROM Execution After Power-on/Reset
is a flowchart showing the order in which the ROM verifies the integrity of the different areas
of program flash using the checksums. The branch instruction check at the beginning prevents the Boot
ROM checksum program from checking the integrity of an empty block of memory. Otherwise a block filled
with zeroes would pass the checksum test.
The UCD3138 has a PMBus command called “execute flash” with a command code of 0xF0. This causes
the program to execute. On the UCD3138128, the same command code cause:
•
program flash block 0 to be mapped to address 0x00000
•
program flash block 1 to be mapped to address 0x08000
•
program flash block 2 to be mapped to address 0x10000
•
program flash block 3 to be mapped to address 0x18000
The code then starts executing from the start of program flash block 1 (at address 0).
Setting the command code to 0xF7 causes:
•
program flash block 2 to be mapped to address 0x00000
•
program flash block 3 to be mapped to address 0x08000
•
program flash block 1 to be mapped to address 0x10000
•
program flash block 2 to be mapped to address 0x18000
The code then starts executing from the start of program flash block 2 (at address 0). See
for more details on the “execute flash” command.