English
Language : 

LM3S5737 Datasheet, PDF (784/833 Pages) Texas Instruments – Stellaris® LM3S5737 Microcontroller
Boot Loader
A.2.2
A.2.3
A.3
A.3.1
A.3.2
SSI
The Synchronous Serial Interface (SSI) port also uses a fixed serial format for communications,
with the framing defined as Motorola format with SPH set to 1 and SPO set to 1. See “Frame
Formats” on page 539 in the SSI chapter for more information on formats for this transfer protocol.
Like the UART, this interface has hardware requirements that limit the maximum speed that the SSI
clock can run. This allows the SSI clock to be at most 1/12 the the internal oscillator frequency of
the board running the boot loader (which is at least 8.4 MHz, providing support for up to 700 KHz)..
Since the host device is the master, the SSI on the boot loader device does not need to determine
the clock as it is provided directly by the host.
I2C
The Inter-Integrated Circuit (I2C) port operates in slave mode with a slave address of 0x42. The I2C
port will work at both 100 Khz and 400 KHz I2C clock frequency. Since the host device is the master,
the I2C on the boot loader device does not need to determine the clock as it is provided directly by
the host.
Packet Handling
All communications, with the exception of the UART auto-baud, are done via defined packets that
are acknowledged (ACK) or not acknowledged (NAK) by the devices. The packets use the same
format for receiving and sending packets, including the method used to acknowledge successful or
unsuccessful reception of a packet.
Packet Format
All packets sent and received from the device use the following byte-packed format.
struct
{
unsigned char ucSize;
unsigned char ucCheckSum;
unsigned char Data[];
};
ucSize
ucChecksum
Data
The first byte received holds the total size of the transfer including
the size and checksum bytes.
This holds a simple checksum of the bytes in the data buffer only.
The algorithm is Data[0]+Data[1]+…+ Data[ucSize-3].
This is the raw data intended for the device, which is formatted in
some form of command interface. There should be ucSize–2
bytes of data provided in this buffer to or from the device.
Sending Packets
The actual bytes of the packet can be sent individually or all at once; the only limitation is that
commands that cause flash memory access should limit the download sizes to prevent losing bytes
during flash programming. This limitation is discussed further in the section that describes the boot
loader command, COMMAND_SEND_DATA (see “COMMAND_SEND_DATA (0x24)” on page 786).
Once the packet has been formatted correctly by the host, it should be sent out over the UART or
SSI interface. Then the host should poll the UART or SSI interface for the first non-zero data returned
from the device. The first non-zero byte will either be an ACK (0xCC) or a NAK (0x33) byte from
784
November 17, 2011
Texas Instruments-Production Data