Cirrus Logic CS4953xx User Manual

Page 20

Advertising
background image

Slave Boot Procedures

CS4953xx Hardware User’s Manual

DS732UM10

Copyright 2010 Cirrus Logic, Inc

2-6

3. Wait for 10

μ

S.

4.

Read the BOOT_START message (See NOTE 1 in

Figure 2-2

). 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.

5.

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.

6. Wait 10

μ

S

7.

Read the BOOT_SUCCESS message (See NOTE 1 in

Figure 2-2

). 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.

8.

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 5, the XTAL_OUT frequency will change to XTAL/2 after the soft reset has taken place.

9.

Send the correct HCMB_<MODE> message. The host sends to the CS4953xx the appropriate
HCMB_<MODE> message, where <MODE> indicates the type of external ROM: PARALLEL, SPI, or

I

2

C. This message tells CS4953xx the start address of the downloadable image (.ULD file) and

identifies which port will be used to access FLASH memory.

10.

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

Figure

2-2

)

11.

Read the BOOT_START message. If the initialization is successful, CS4953xx will send the
BOOT_START message to the host.

If initialization fails, the host must return to

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

timing and protocol should be inspected.

12.

Wait for IRQ low. After receiving the BOOT_START message, the host then waits for SCP1_IRQ (or
PCP_IRQ) to go low. This indicates that the DSP has written a message to the output buffer and the
boot process is complete.

13.

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. The 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.

14.

Repeat Steps 9-13 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.

15.

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.

16.

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

Advertising