
AN332
180
Confidential Rev. 0.2
The patch download mechanism is verified with a checksum embedded in the patch download. If the checksum
fails, the part issues an error code, ERR (bit 6 of the one byte reply that is available after each 8-byte transfer), and
halts. The part must be reset to recover from this error condition.
The following is an example of a patch file.
# Copyright 2006 Silicon Laboratories, Inc.
# Patch generated 21:09 August 09 2006
# fmtx version 0.0 alpha
0x15,0x00,0x0B,0x1D,0xBB,0x14,0xC4,0xA1
0x16,0x98,0x81,0xD9,0x71,0xED,0x0E,0xAC
.
.
[up to 1979 additional lines]
.
.
0x15,0x00,0x00,0x00,0x00,0x00,0x49,0xFD
A full memory patch requires 15856 bytes of system controller memory, however, most patches require significantly
less memory. In 2-wire mode, a full memory patch download requires approximately 500 ms at a 400 kHz clock
rate. The following is an example of the commands required to boot the device from powerdown mode using the
patch file in the previous example. The device has completed the boot process when the CTS bit is set high after
the last byte in the file is transferred and is ready to accept additional commands and proceed with normal
operation.
Table 38 provides an example of using the POWER_UP command with patching enabled. The table is broken into
three columns. The first column lists the action taking place: command (CMD), argument (ARG), status (STATUS)
or response (RESP). The second column lists the data byte or bytes in hexadecimal that are being sent or
received. An arrow preceding the data indicates data being sent from the device to the system controller. The third
column describes the action.