Boot Modes
Initially, the boot kernel transmits the read command on the SPI_MOSI line. Once the command has been sent,
the boot kernel proceeds to transmit a single address byte and waits until the receive FIFO indicates that the buffer
is no longer empty. The first received byte is discarded. The boot code then proceeds to issue another address byte
while simultaneously receiving a byte. The process continues until a non-0xFF or 0x00 byte is received or until the
full 4 address bytes is sent without any valid data being returned.
The receiving of a non-0x00 or 0xFF byte tells the boot code whether the memory device requires 8, 16, 24, 32
address bits. The lower nibble of the received byte is then used to further customize the boot mode. This nibble is
referred to as the BCODE. The boot code applies settings to the SPI peripheral according to the SPI Master Boot
BCODE Descriptions.
If the received value equals 0x00 or 0xFF, it is assumed that the memory device has not driven its data output thus,
another zero byte is transmitted and the received data is tested again.
If the value still equals 0xFF, device detection continues. Device detection aborts immediately when a byte different
than 0xFF is received. The boot process continues with normal boot operation and it re-issues a command to re-read
from address 0. Two read sequences load the first block header. Separate read sequences load further block headers
and block payload fields.
The SPI Device Detection Principle figure illustrates how individual devices behave.
Figure 53-2: SPI Device Detection Principle
Table 53-15: SPI Master Boot BCODE Descriptions
BCODE
Mode
0x0
Init
0x1
STANDARD
0x2
STANDARD
0x3
FAST READ
53–22
SPIx_MOSI
0x03
0x00
0x00
0xFF
0xFF
0x01
SPIx_MISO
0xFF
SPIx_MISO
0xFF
0xFF
SPIx_MISO
0xFF
0xFF
0xFF
SPIx_MISO
0xFF
0xFF
0xFF
Ignored received data byte
Command
Dummy
Bytes
Init
Init
0x03
0
0x03
0
0x0B
1
ADSP-SC58x/ADSP-2158x SHARC+ Processor Hardware Reference
0x00
0x00
0x00
. . .
. . .
0x01
0xFF
0x01
. . .
0xFF
0xFF
0x01
Data
Address
SPI Clock
Lines
Lines
Init
Init
Init
1
1
SCLK0/16
1
1
SCLK0/4
1
1
SCLK0/2
STANDARD 8-BIT
STANDARD 16-BIT
STANDARD 24-BIT
STANDARD 32-BIT
Purpose
Unused
Legacy single-bit SPI mode
Legacy single-bit SPI mode
Single bit with dummy address
byte
Need help?
Do you have a question about the ADSP-SC58 Series and is the answer not in the manual?