Host control
GPIO27
Device control
GPIO26
1
2
3
4
6
5
C-Boot ROM Description
654
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
Table 6-28. Parallel GPIO Boot 8-Bit Data Stream
Bytes
GPIO[ 9,8,5:0]
(Byte 1 of 2)
GPIO[ 9,8,5:0]
(Byte 2 of 2)
Description
1
2
AA
08
0x08AA (KeyValue for memory width = 16bits)
3
4
00
00
8 reserved words (words 2 - 9)
...
...
...
...
...
17
18
00
00
Last reserved word
19
20
BB
00
Entry point PC[22:16]
21
22
DD
CC
Entry point PC[15:0] (PC = 0x00BBCCDD)
23
24
NN
MM
Block size of the first block of data to load = 0xMMNN words
25
26
BB
AA
Destination address of first block Addr[31:16]
27
28
DD
CC
Destination address of first block Addr[15:0] (Addr = 0xAABBCCDD)
29
30
BB
AA
First word of the first block in the source being loaded = 0xAABB
...
...
...
Data for this section.
...
.
BB
AA
Last word of the first block of the source being loaded = 0xAABB
.
NN
MM
Block size of the 2nd block to load = 0xMMNN words
.
BB
AA
Destination address of second block Addr[31:16]
.
DD
CC
Destination address of second block Addr[15:0]
.
BB
AA
First word of the second block in the source being loaded
.
…
n
n+1
BB
AA
Last word of the last block of the source being loaded
(More sections if required)
n+2
n+3
00
00
Block size of 0000h - indicates end of the source program
The device first signals the host that it is ready to begin data transfer by pulling the GPIO26 pin low. The
host load then initiates the data transfer by pulling the GPIO27 pin low. The complete protocol is shown in
the diagram below:
Figure 6-28. Parallel GPIO Bootloader Handshake Protocol
1. The device indicates it is ready to start receiving data by pulling the GPI2O6 pin low.
2. The bootloader waits until the host puts data on GPIO [9,8,5:0]. The host signals to the device that
data is ready by pulling the GPIO27 pin low.
3. The device reads the data and signals the host that the read is complete by pulling GPIO26 high.
4. The bootloader waits until the host acknowledges the device by pulling GPIO27 high.
5. The device again indicates it is ready for more data by pulling the GPIO26 pin low.
This process is repeated for each data value to be sent.
shows an overview of the Parallel GPIO bootloader flow.