ADSP-BF59x Blackfin Processor Hardware Reference
16-75
System Reset and Booting
w[FP+-sizeof(ADI_SYSCTRL_offse-
tof(ADI_SYSCTRL_VALUES,uwPllLockCnt)] = R0;
R0 = (SYSCTRL_EXTVOLTAGE | SYSCTRL_PLLCTL | SYSCTRL_PLLDIV |
SYSCTRL_LOCKCNT | SYSCTRL_WRITE);
R1 = FP;
R1 += -sizeof(ADI_SYSCTRL_VALUES);
R2 = 0 (z);
IMM32(P5,BFROM_SYSCONTROL);
call(P5);
SP += 12;
(R7:0,P5:5) = [SP++];
unlink;
rts;
init_DPM.end:
Care must be taken that the reprogramming of the PLL does not break the
communication with the booting host. For example, in the case of UART
boot, the
UARTx_DLL
and
UARTx_DLH
registers must be updated to keep the
old bit rate.
XOR Checksum
Listing 16-7
illustrates how an initcode can be used to register a callback
routine. The routine is called after each boot block that has the
BFLAG_CALLBACK
flag set. The calculated XOR checksum is compared
against the block header
ARGUMENT
field. When the checksum fails, this
example goes into idle mode. Otherwise control is returned to the boot
kernel.
Since this callback example accesses the data after it is loaded, it would fail
if the target address were in L1 instruction space. Therefore the
BFLAG_INDIRECT
flag should also be set. The
xor_callback
routine could
then perform the checksum calculation at an intermediate storage place.
The boot kernel transfers the data from the temporary buffer to the final
destination after the callback routine returns.
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...