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.

<strong>Loader</strong> for ADSP-2126x/2136x/2137x SHARC Processors<br />

Booting From an SPI Host Processor<br />

Typically, host processors in SPI slave mode transmit data on every SPICLK<br />

cycle. This means that the first four bytes that are sent by the host processor<br />

are part of the first 32-bit word that is thrown away by the processor<br />

(see Figure 5-1). Therefore, it is necessary for the loader to pad an extra<br />

four bytes to the beginning of the boot stream when programming the<br />

host; for example, the first byte of the kernel is the fifth byte of the boot<br />

stream. <strong>VisualDSP++</strong> automatically h<strong>and</strong>les this in the loader file generation<br />

process.<br />

Internal Boot Mode<br />

In internal boot mode, upon reset, the processor starts executing the application<br />

stored in the internal boot kernel.<br />

To facilitate internal booting, the -nokernel comm<strong>and</strong>-line switch comm<strong>and</strong>s<br />

the loader utility:<br />

To omit a boot kernel.<br />

The -nokernel switch denotes that a running on the processor<br />

(already booted) subroutine imports the .ldr file. The loader utility<br />

does not insert a boot kernel into the .ldr file—a similar<br />

subroutine is present already on the processor. Instead, the loader<br />

file begins with the first header of the first block of the boot<br />

stream.<br />

To omit any interrupt vector table (IVT) h<strong>and</strong>ling.<br />

In internal boot mode, the boot stream is not imported by a boot<br />

kernel executing from within the IVT; no self-modifying<br />

FINAL_INIT code (which overwrites itself with the IVT) is needed.<br />

Thus, the loader utility does not give any special h<strong>and</strong>ling to the<br />

256 instructions located in the IVT (0x80000–0x800FF for<br />

ADSP-2126x processors <strong>and</strong> 0x90000–0x900FF for ADSP-2136x<br />

processors). Instead, the IVT code or data are h<strong>and</strong>led like any<br />

other range of memory.<br />

<strong>VisualDSP++</strong> <strong>4.5</strong> <strong>Loader</strong> <strong>and</strong> <strong>Utilities</strong> <strong>Manual</strong> 5-17

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

Saved successfully!

Ooh no, something went wrong!