SCIRXDA
SCITXDA
Host
(Data and program
source)
Control
Subsystem
boot ROM
CopyData
Call peripheral-specific
GetWordData to read
Yes
No
Return
BlockHeader.BlockSize
BlockSize=
0x0000
?
Call GetLongData
to read
BlockHeader.DestAddr
Transfer
BlockHeader.BlockSize
words of data from
port to memory
starting at DestAddr
C-Boot ROM Description
644
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.6.15.3 CopyData Function
Each of the bootloaders uses the same function to copy data from the port to the device's SARAM. This
function is the CopyData() function. This function uses a pointer to a GetWordData function that is
initialized by each of the loaders to properly read data from that port. For example, when the SPI loader is
evoked, the GetWordData function pointer is initialized to point to the SPI-specific SPI_GetWordData
function. Thus when the CopyData() function is called, the correct port is accessed. The flow of the
CopyData function is shown in
Note:
BlockSize must be less than 0xFFFF for correct operation of the CopyData function. This means the
max possible value of BlockSize is 0xFFFE, not 0xFFFF.
Figure 6-16. Overview of CopyData Function
6.6.15.4 C-Boot ROM SCI_Boot Mode
The SCI boot mode asynchronously transfers code from SCI-A to internal memory. This boot mode only
supports an incoming 8-bit data stream and follows the same data flow as outlined in
Figure 6-17. Overview of SCI Bootloader Operation
The SCI-A loader uses following pins:
•
SCIRXDA on GPIO36
•
SCITXDA on GPIO35