English
Language : 

LM3S612 Datasheet, PDF (414/419 Pages) List of Unclassifed Manufacturers – Microcontroller
22.2.1
22.2.2
22.2.3
22.3
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 – The first byte received holds the total size of the transfer including the size and checksum
bytes.
ucChecksum – This holds a simple checksum of the bytes in the data buffer only. The algorithm is
Data[0]+Data[1]+…+ Data[ucSize-3].
Data – 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 commands that interact
with the flash.
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 the device indicating the packet was received successfully (ACK) or unsuccessfully
(NAK). This does not indicate that the actual contents of the command issued in the data portion of
the packet were valid, just that the packet was received correctly.
Receiving Packets
The flash loader sends a packet of data in the same format that it receives a packet. The flash
loader may transfer leading zero data before the first actual byte of data is sent out. The first
non-zero byte is the size of the packet followed by a checksum byte, and finally followed by the
data itself. There is no break in the data after the first non-zero byte is sent from the flash loader.
Once the device communicating with the flash loader receives all the bytes, it must either ACK or
NAK the packet to indicate that the transmission was successful. The appropriate response after
sending a NAK to the flash loader is to resend the command that failed and request the data
again. If needed, the host may send leading zeros before sending down the ACK/NAK signal to
the flash loader, as the flash loader only accepts the first non-zero data as a valid response. This
zero padding is needed by the SSI interface in order to receive data to or from the flash loader.
Commands
The next section defines the list of commands that can be sent to the flash loader. The first byte of
the data should always be one of the defined commands, followed by data or parameters as
determined by the command that is sent.
414
April 27, 2007
Preliminary