25.12.2012 Views

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Blackfin Processor Booting<br />

� On<br />

the Blackfin processor, in both TWI master <strong>and</strong> slave boot<br />

modes, the upper 256 bytes of data bank A starting at address<br />

0xFF90 3F00 must not be used. The boot ROM code uses this<br />

space for the TWI boot modes to temporarily hold the serial data<br />

which is then transferred to L1 instruction memory using DMA.<br />

ADSP-BF534/BF536/BF537 UART Slave Mode Boot via<br />

Master Host (BMODE = 111)<br />

UART booting on the Blackfin processor is supported only through<br />

UART0, <strong>and</strong> the Blackfin processor is always a slave.<br />

Using an autobaud detection sequence, a boot-stream-formatted program<br />

is downloaded by the host. The host agent selects a bit rate within the<br />

UART’s clocking capabilities. When performing the autobaud, the UART<br />

expects an “@” character (0x40, eight bits data, one start bit, one stop bit,<br />

no parity bit) on the UART0 RXD input to determine the bit rate. The<br />

hardware support <strong>and</strong> the mathematical operations to perform for this<br />

autobaud detection is explained in Chapter 15, “General-Purpose Timers”<br />

of the ADSP-BF537 Blackfin Processor Hardware Reference. The boot kernel<br />

then replies with an acknowledgement, <strong>and</strong> then the host can<br />

download the boot stream. The acknowledgement consists of the following<br />

four bytes: 0xBF, UART0_DLL, UART0_DLH, 0x00. The host is requested<br />

not to send further bytes until it has received the complete acknowledge<br />

string. Once the 0x00 byte is received, the host can send the entire boot<br />

stream at once. The host must know the total byte count of the boot<br />

stream, but the host does not require any knowledge about the content of<br />

the boot stream.<br />

When the boot kernel is processing ZEROFILL or INIT blocks, it may<br />

require extra processing time <strong>and</strong> needs to hold the host off from sending<br />

more data. This is signalled with the HWAIT output which can operate on<br />

any GPIO of port G. The GPIO, which is actually used, is encoded in the<br />

FLAG word of all block headers. The boot kernel is not permitted to drive<br />

any of the GPIOs before the first block header has been received <strong>and</strong> eval-<br />

2-30 <strong>VisualDSP++</strong> <strong>4.5</strong> <strong>Loader</strong> <strong>and</strong> <strong>Utilities</strong> <strong>Manual</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!