M-Boot ROM Description
562
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.5.15.3.3 M-Boot ROM CAN Boot Mode Protocol
The CAN bootloader provides a short list of commands that are used during the application download. The
description of each of these commands is given below.
Table 6-12. M-Boot ROM CAN Boot Commands
Serial
No.
Command Name
Command Value
Description
1.
LM_API_UPD_PING
0x1F020000
This command is used to receive an acknowledge
command from the bootloader indicating that
communication has been established. This command has
no data. If the device is present it will respond with an
acknowledgment back to the sender.
2.
LM_API_UPD_DOWNLOAD
0x1F020040
This command sets the base address for the download as
well as the size of the data to write to the device. This
command should be followed by a series of
LM_API_UPD_SEND_DATA that send the actual image to
be programmed to the device. The command consists of
two 32-bit values that are transferred LSB first.
The first 32-bit value is the address to start programming
data into, while the second is the 32-bit size of the data
that will be sent.
The format of the command is as follows:
unsigned char ucData[8];
ucData[0] = Download Address [7:0];
ucData[1] = Download Address [15:8];
ucData[2] = Download Address [23:16];
ucData[3] = Download Address [31:24];
ucData[4] = Download Size [7:0];
ucData[5] = Download Size [15:8];
ucData[6] = Download Size [23:16];
ucData[7] = Download Size [31:24];
3.
LM_API_UPD_SEND_DATA
0x1F020080
This command should only follow a
LM_API_UPD_DOWNLOAD command or another
LM_API_UPD_SEND_DATA command when more data is
needed. Consecutive send data commands automatically
increment the address and continue programming from the
previous location.
The transfer size is limited to 8 bytes at a time based on
the maximum size of an individual CAN transmission. The
command terminates programming once the number of
bytes indicated by the LM_API_UPD_DOWNLOAD
command have been received. The CAN bootloader will
send a LM_API_UPD_ACK in response to each send data
command to allow the CAN update application to throttle
the data going to the device and not overrun the bootloader
with data.
The format of the command is as follows:
unsigned char ucData[8];
ucData[0] = Data[0];
ucData[1] = Data[1];
ucData[2] = Data[2];
ucData[3] = Data[3];
ucData[4] = Data[4];
ucData[5] = Data[5];
ucData[6] = Data[6];
ucData[8] = Data[7];