2 communication protocol – NXP Semiconductors LPC24XX UM10237 User Manual
Page 678
UM10237_4
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 04 — 26 August 2009
678 of 792
NXP Semiconductors
UM10237
Chapter 30: LPC24XX Flash memory programming firmware
If the signature is not valid, the auto-baud routine synchronizes with the host via serial port
0. The host should send a ’?’ (0x3F) as a synchronization character and wait for a
response. The host side serial port settings should be 8 data bits, 1 stop bit and no parity.
The auto-baud routine measures the bit time of the received synchronization character in
terms of its own frequency and programs the baud rate generator of the serial port. It also
sends an ASCII string ("Synchronized
should send the same string ("Synchronized
the received characters to verify synchronization. If synchronization is verified then
"OK
frequency (in kHz) at which the part is running. For example, if the part is running at 10
MHz , the response from the host should be "10000
sent to the host after receiving the crystal frequency. If synchronization is not verified then
the auto-baud routine waits again for a synchronization character. For auto-baud to work
correctly in case of user invoked ISP, the CCLK frequency should be greater than or equal
to 10 MHz.
For more details on Reset, PLL and startup/boot code interaction see
“PLL and startup/boot code interaction”
.
Once the crystal frequency is received the part is initialized and the ISP command handler
is invoked. For safety reasons an "Unlock" command is required before executing the
commands resulting in Flash erase/write operations and the "Go" command. The rest of
the commands can be executed without the unlock command. The Unlock command is
required to be executed once per ISP session. The Unlock command is explained in
Section 30–9 “ISP commands” on page 683
.
5.2 Communication protocol
All ISP commands should be sent as single ASCII strings. Strings should be terminated
with Carriage Return (CR) and/or Line Feed (LF) control characters. Extra
strings. Data is sent and received in UU-encoded format.
5.2.1 ISP command format
"Command Parameter_0 Parameter_1 ... Parameter_n
Write commands).
5.2.2 ISP response format
"Return_Code
Response_n
5.2.3 ISP data format
The data stream is in UU-encode format. The UU-encode algorithm converts 3 bytes of
binary data in to 4 bytes of printable ASCII character set. It is more efficient than Hex
format which converts 1 byte of binary data in to 2 bytes of ASCII hex. The sender should
send the check-sum after transmitting 20 UU-encoded lines. The length of any
UU-encoded line should not exceed 61 characters(bytes) i.e. it can hold 45 data bytes.
The receiver should compare it with the check-sum of the received bytes. If the
check-sum matches then the receiver should respond with "OK
further transmission. If the check-sum does not match the receiver should respond with
"RESEND