
ADSP-BF59x Blackfin Processor Hardware Reference
16-27
System Reset and Booting
The indirect booting option helps speed-up and simplify such sce-
narios. Software accesses off-chip memory less efficiently and
cannot access data directly if it resides in L1 instruction SRAM.
Indirect booting is not a global setting. Every boot block can control its
own processing by the
BFLAG_INDIRECT
flag in the block header.
In general a boot block may not fit into the temporary storage memory so
the boot kernel processes the block in multiple steps. The larger the tem-
porary buffer, the faster the boot process. By default the L1 data memory
region between 0xFF80 7F00 and 0xFF80 7FEF is used for intermediate
storage. Initialization code can alter this region by modifying the
pTempBuffer
and
dTempByteCount
variables in the
ADI_BOOT_DATA
struc-
ture. The default region is at the upper end of a physical memory block.
When increasing the
dTempByteCount
value,
pTempBuffer
also has to
change.
Callback Routines
Callback routines, like initialization codes, are user-defined subroutines
called by the boot kernel at boot time. The
BFLAG_CALLBACK
flag in the
block header controls whether the callback routine is called for a specific
block.
There are several differences between initcodes and callback routines.
While the
BFLAG_INIT
flag causes the boot kernel to issue a
CALL
instruc-
tion to the target address of the specific boot block, the
BFLAG_CALLBACK
flag causes the boot kernel to issue a
CALL
instruction to the address held
by the
pCallBackFunction
pointer in the
ADI_BOOT_DATA
structure. While
a boot stream can have multiple individual initcodes, it can have just one
callback routine. In the standard boot scenario, the callback routine has to
be registered by an initcode prior to the first block that has the
BFLAG_CALLBACK
flag set.
The purpose of the callback routine is to apply standard processing to the
block data. Typically, callback routines contain checksum, decryption,
Summary of Contents for ADSP-BF59x Blackfin
Page 64: ...Development Tools 1 22 ADSP BF59x Blackfin Processor Hardware Reference...
Page 74: ...Processor Specific MMRs 2 10 ADSP BF59x Blackfin Processor Hardware Reference...
Page 244: ...Programming Examples 6 40 ADSP BF59x Blackfin Processor Hardware Reference...
Page 700: ...Programming Examples 16 78 ADSP BF59x Blackfin Processor Hardware Reference...
Page 738: ...Boundary Scan Architecture B 8 ADSP BF59x Blackfin Processor Hardware Reference...