Fetch ACK
No
Yes
No
Next action
No
Process NAK
Yes
Report an error
No
Yes
No
maximum
Report a
timeout error
Yes
0x5A
received?
0xA2
received?
0xA1
received?
Send 0x00 to
shift out 1 byte
from target
Send 0x00 to
shift out 1 byte
from target
Reached
retries?
Figure 13-20. Host reads ACK from target via SPI
Fetch Response
Yes
Yes
out payload length
part from target
(2 bytes)
out CRC checksum
from target
Payload length
less than supported
length?
Yes
out payload data
from target
No
Set payload length
to maximum
supported length
No
No
maximum
Report a timeout
error (End)
Yes
End
No
(2 bytes)
0x5A
received?
0xA4
received?
Reached
retries?
Send 0x00 to
shift out 1 byte
from target
Send 0x00 to
shift out 1 byte
from target
Write 0x00s to shift
Write 0x00s to shift
Write 0x00s to shift
Figure 13-21. Host reads response from target via SPI
13.4.3 USB peripheral
The Kinetis Bootloader in the ROM supports loading data into flash via the USB
peripheral. The target is implemented as a USB HID class.
Chapter 13 Kinetis ROM Bootloader
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
Freescale Semiconductor, Inc.
213