Advanced Boot Techniques
When increasing the
change.
Callback Routines
Callback routines, like initialization codes, are user-defined subroutines
called by the boot kernel at boot time. 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
tion to the target address of the specific boot block, the
flag causes the boot kernel to issue a
by the
pCallBackFunction
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
The purpose of the callback routine is to apply standard processing to the
block data. Typically, callback routines contain checksum, decryption,
decompression, or hash algorithms. Checksum or hash words can be
passed through the block header
Since callback routines require access to the payload data of the boot
blocks, the block data must be loaded before it can be processed. Unlike
initcodes, a callback usually resides permanently in memory. If the block
is loaded to L1 instruction memory or off-chip memory, the
BFLAG_CALLBACK
boot kernel performs these steps in the following order.
1. Data is loaded into the temporary buffer defined by the
pTempBuffer
2. The
CALL
24-30
dTempByteCount
flag causes the boot kernel to issue a
pointer in the
flag set.
ARGUMENT
flag is likely combined with the
variable.
to the
pCallBackFunction
ADSP-BF50x Blackfin Processor Hardware Reference
value,
pTempBuffer
BFLAG_CALLBACK
instruction to the address held
CALL
ADI_BOOT_DATA
field.
BFLAG_INDIRECT
is issued.
also has to
flag in the
instruc-
CALL
BFLAG_CALLBACK
structure. While
bit. The
Need help?
Do you have a question about the ADSP-BF506F and is the answer not in the manual?