Analog Devices ADSP-BF506F Hardware Reference Manual page 1191

Adsp-bf50x blackfin processor
Hide thumbs Also See for ADSP-BF506F:
Table of Contents

Advertisement

In general, the block size is bigger than the size of the temporary buffer.
Therefore, the boot kernel may need to divide the processing of a single
block into multiple steps. The callback routine may also need to be
invoked multiple times—every time the temporary buffer is filled up and
once for the remaining bytes. The boot kernel passes the
ter, so that the callback routines knows whether it is called the first time,
the last time or neither. The
structure is used to store the intermediate results between function calls.
Listing 24-7. XOR Checksum
s32 xor_callback(
ADI_BOOT_DATA* pBS,
ADI_BOOT_BUFFER* pCS,
s32 dFlags)
{
s32 i;
if ((pCS!= NULL) && (pBS->pHeader!= NULL)) {
if (dFlags & CBFLAG_FIRST) {
pBS->dUserLong = 0;
}
for (i=0; i<pCS->dByteCount/sizeof(s32); i++) {
pBS->dUserLong^= ((s32 *)pCS->pSource)[i];
}
if (dFlags & CBFLAG_FINAL) {
if (pBS->dUserLong!= pBS->pHeader->dArgument) {
}
}
}
return 0;
}
ADSP-BF50x Blackfin Processor Hardware Reference
dUserLong
idle ();
System Reset and Booting
dFlags
variable in the
ADI_BOOT_DATA
parame-
24-87

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ADSP-BF506F and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Adsp-bf504Adsp-bf504f

Table of Contents