Datasheet

I2C Bootloader
Document Number: 001-13258 Rev. *J Page 34 of 39
The next three lines contain only the control byte, the I
2
C prefix, and 16 bytes of data. The last line of the
write block command contains the control byte, the I
2
C prefix, the final 12 bytes of data, and two 1-byte
checksums. The first checksum, 0x9A in this example, is the checksum of the data bytes for this record.
The second checksum, 0x8A in this example, is the checksum of the entire 77 byte record, excluding
address bytes and prefixes. Address bytes and prefixes are verified internally by the bootloader as they
are received.
At the conclusion of the write block command, another status request is sent and it results in the response
shown.
All the blocks transmitted have the same format. The third block contains the checksum information.
Figure 9 shows the format of this record:
Figure 9. Third (Checksum)
The third record contains the checksum block (note that the block number is always 0x0004). The data in
the record is described in this section.
The first line contains a control byte, an I
2
C prefix, the bootloader write block command, the bootloader
key, and the block number just as the other records did. The next two bytes contain an optional checksum
for the remainder of the block, 0x0E8C in this case. The last two bytes of the line contain the hex address
of the Relocatable Interrupt Vectors Table (see Figure 2 for more information).
The second line of the record contains a control byte and an I
2
C prefix, followed by a two byte value that
represents the hex address of the ApplicationCode_Start_Block user module parameter calculated from
block 0x29. The next two bytes are the hex address of the end of Application Code calculated from block
0xFF. This is followed by two bytes that are the application size in blocks. The final two byte real data
value on this line is the bootloader version number from the BootLdrI2C_ver parameter. The remainder of
the line is empty data space.
The next two lines contain additional empty data space. The last line of the checksum block contains
empty data space until the last four bytes of the line. The last four bytes contain a two byte application
checksum calculated by the bootloader, a one byte block checksum from the Intel hex record, and finally
the checksum of the entire 77 byte record, excluding address bytes and prefixes. Address bytes and
prefixes are verified internally by the bootloader as they are received.
The next line contains another status request and response.
The bootloader exit command consists of control byte 70, a two byte prefix, the bootloader exit command
0xFF3B, and the bootloader key.