Cirrus Logic CS4953xx User Manual

Page 23

Advertising
background image

2-9

Copyright 2010 Cirrus Logic, Inc.

DS732UM10

Slave Boot Procedures
CS4953xx Hardware User’s Manual

3.

Send the SLAVE_BOOT message. The host sends the appropriate SLAVE_BOOT message to the

CS4953xx using the control port specified (serial port/parallel port) and format specified (I

2

C, SPI,

Intel, etc.) by the HS[4:0] pins at reset.

4. Wait for 10

μ

S.

5.

Read the BOOT_START message (See NOTE 1 in

Figure 2-3

). If the initialization is successful,

CS4953xx sends out the BOOT_START message and the host proceeds to Step 6.

If initialization fails, the host must return to

Step 1, and if failure is met again, the communication

timing and protocol should be inspected.

6.

The host sends the boot assist BOOT_ASSIST_A.uld file or boot_assist_xtal_div2_a*.uld (sets
XTAL_OUT =XTAL/2) to the CS4953xx DSP.

7. Wait 10

μ

S

8.

Read the BOOT_SUCCESS message (See NOTE 1 in

Figure 2-3

). The host then reads a message

from the appropriate communications port. Each.ULD file contains a checksum that is compared at
the end of the boot process. CS4953xx sends a BOOT_SUCCESS message to the host if the
checksum is correct after the download.

If the checksum was incorrect, CS4953xx responds with a BOOT_ERROR_CHECKSUM message.
This indicates that the image read by the DSP is corrupted. The communications interface hardware
and code image integrity should be checked if this occurs.

9.

Send the SOFT_RESET_DSP_A command: After reading the BOOT_SUCCESS message on the
boot assist code image/overlay, the host must send this message. If boot_assist_xtal_div2_a*.uld was
sent in

Step 6, the XTAL_OUT frequency will change to XTAL/2 after the soft reset has taken place.

10.

Send the SLAVE_BOOT message. The host sends the appropriate SLAVE_BOOT message to the

CS4953xx using the control port specified (serial port/parallel port) and format specified (I

2

C, SPI,

Intel, etc.) by the HS[4:0] pins at reset.

11.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low. (See NOTE 2 in

Figure

2-3

)

12.

Read the BOOT_START message. If the initialization is successful, CS4953xx sends out the
BOOT_START message and the host proceeds to Step 6.

13.

Send the ULD File. The host sends a.uld file to the CS4953xxx.

14.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low.

15.

Read the BOOT_SUCCESS message. The host then reads a message from the appropriate
communications port. Each.ULD file contains a checksum that is compared at the end of the boot
process. CS4953xx sends a BOOT_SUCCESS message to the host if the checksum is correct after
the download.

If the checksum was incorrect, CS4953xx responds with a BOOT_ERROR_CHECKSUM message.
This indicates that the image read by the DSP is corrupted. The communications interface hardware
and code image integrity should be checked if this occurs.

16.

Repeat Steps 10-15 for all code images/overlays. The host repeats these steps until all overlays
for the application have been successfully loaded. See the application note for more information on
the overlays necessary at start-up.

17.

Send the SOFT_RESET message. After reading the BOOT_SUCCESS message on the last code
image/overlay, the host must send a SOFT_RESET message which will cause the application code to
begin executing.

18.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low.

19.

Read the APP_START message. If code execution is successful, the CS4953xx sends out a

Advertising