Nxp Semiconductors UM10237 User Manual

Page of 792
UM10237_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 19 December 2008 
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<CR><LF>") to the Host. In response to this host 
should send the same string ("Synchronized<CR><LF>"). The auto-baud routine looks at 
the received characters to verify synchronization. If synchronization is verified then 
"OK<CR><LF>" string is sent to the host. Host should respond by sending the crystal 
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<CR><LF>". "OK<CR><LF>" string is 
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 
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 
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 <CR> and 
<LF> characters are ignored. All ISP responses are sent as <CR><LF> terminated ASCII 
strings. Data is sent and received in UU-encoded format.
5.2.1 ISP command format
"Command Parameter_0 Parameter_1 ... Parameter_n<CR><LF>" "Data" (Data only for 
Write commands).
5.2.2 ISP response format
"Return_Code<CR><LF>Response_0<CR><LF>Response_1<CR><LF> ... 
Response_n<CR><LF>" "Data" (Data only for Read commands).
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<CR><LF>" to continue 
further transmission. If the check-sum does not match the receiver should respond with 
"RESEND<CR><LF>". In response the sender should retransmit the bytes.