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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Loader</strong>/Splitter for Blackfin Processors<br />
Refer to Figure 2-29 <strong>and</strong> Table 2-5 for the flag’s bit descriptions.<br />
Table 2-5. Flag Structure<br />
Bit Field Description<br />
Zero-fill block Indicates that the block is for a buffer filled with zeros. The body of a zero<br />
block is not included within the loader file. When the loader utility parses<br />
through the .dxe file <strong>and</strong> encounters a large buffer with zeros, it creates a<br />
zero-fill block to reduce .ldr file size <strong>and</strong> boot time. If this bit is set, there is<br />
no block body in the block.<br />
Ignore block Indicates that the block is not to be booted into memory; skips the block <strong>and</strong><br />
moves on to the next one. Currently is not implemented for application code.<br />
Initialization<br />
block<br />
Indicates that the block is to be executed before booting. The initialization<br />
block indicator allows the on-chip boot ROM to execute a number of instructions<br />
before booting the actual application code. When the on-chip boot ROM<br />
detects an init block, it boots the block into internal memory <strong>and</strong> makes a<br />
CALL to it (initialization code must have an RTS at the end).<br />
This option allows the user to run initialization code (such as SDRAM initialization)<br />
before the full boot sequence proceeds. Figure 2-30 <strong>and</strong> Figure 2-31<br />
illustrate the process. Initialization code can be included within the .ldr file<br />
by using the -init switch (see “-init filename.dxe” on page 2-67).<br />
See “Initialization Blocks” on page 2-36 for more information.<br />
Processor type Indicates the processor, either ADSP-BF531/BF532/BF538 or<br />
ADSP-BF533/BF534/BF536/BF537/BF539. After booting is complete, the<br />
on-chip boot ROM jumps to 0xFFA0 0000 for the<br />
ADSP-BF533/BF536/BF537/BF539 processor <strong>and</strong> to 0xFFA0 8000 for the<br />
ADSP-BF531/BF532/BF538 processor.<br />
Last block Indicates that the block is the last block to be booted into memory. After the<br />
last block, the processor jumps to the start of L1 memory for application code<br />
execution. When it jumps to L1 memory for code execution, the processor is<br />
still in supervisor mode <strong>and</strong> in the lowest priority interrupt (IVG15).<br />
Compressed<br />
block<br />
Indicates that the block contains compressed data. The compressed block can<br />
include a number of blocks compressed together to form a single compressed<br />
block.<br />
Note that the ADSP-BF534/BF536/BF537 processor can have a special<br />
last block if the boot mode is two-wire interface (TWI). The loader utility<br />
saves all the data from 0xFF903F00 to 0xFF903FFF <strong>and</strong> makes the last block<br />
<strong>VisualDSP++</strong> <strong>4.5</strong> <strong>Loader</strong> <strong>and</strong> <strong>Utilities</strong> <strong>Manual</strong> 2-35