I2C_Boot
SetCopyWordfunction
pointerto
I2C_CopyWord
EnableSDAAand
SCLApins
Enablepullupson
SDAAandSCLA
EnableI2C-Aclock
Setslaveaddress0x50
I2CprescalerI2CPSC=1
100-kHzbitrateat
24-MHzSYSCLKOUT
(A)
EnableTX/RXFIFOsto
receive2bytes.
PlaceI2Cinmaster
transmittermode
SetEEPROMaddress
pointerto0x0000
NACK
received
?
Yes
ReadKeyValue
No
Valid
KeyValue
(0x08AA)
?
Return
FLASH_ENTRY_POINT
No
ReadI2CPSCvalue
ReadI2CCLKHvalue
Read12CCLKLvalue
Put12c-AinReset
SetI2CPSCvalue
SetI2CCLKHvalue
SetI2CCLKLvalue
BringI2C-AoutofReset
Readanddiscard5
reservedwords
Yes
ReadEntryPoint
address
CallCopyData
Return
EntryPoint
Return
FLASH_ENTRY_POINT
Bootloader Features
www.ti.com
208
SPRUI07–March 2020
Submit Documentation Feedback
Copyright © 2020, Texas Instruments Incorporated
Boot ROM
Figure 2-34. Overview of I2C_Boot Function
A During device boot, SYSCLKOUT will be the device input frequency divided by two.
The nonacknowledgment bit is checked only during the first message sent to initialize the EEPROM base
address. This is to make sure that an EEPROM is present at address 0x50 before continuing. If an
EEPROM is not present, code will jump to the flash entry point. The nonacknowledgment bit is not
checked during the address phase of the data read messages (I2C_Get Word). If a non acknowledgment
is received during the data read messages, the I2C bus will hang. Table 2-14 shows the 8-bit data stream
used by the I2C.