ADSP-BF50x Blackfin Processor Hardware Reference
24-25
System Reset and Booting
An init block can consist of multiple sections where multiple boot blocks
represent the initcode within the boot stream. Only the last block has the
BFLAG_INIT
bit set.
The elfloader utility ensures that the last of these blocks vectors to the
initcode entry address. The utility instructs the on-chip boot ROM to exe-
cute a
CALL
instruction to the given target address.
When the on-chip boot ROM detects a block with the
BFLAG_INIT
bit set,
it boots the block into Blackfin memory and then executes it by issuing a
CALL
to its target address. For this reason, every initcode must be termi-
nated by an
RTS
instruction to ensure that the processor vectors back to
the on-chip boot ROM for the rest of the boot process.
Sometimes initcode boot blocks have no payload and the
BYTE COUNT
field
is set to zero. Then the only purpose of the block may be to instruct the
boot kernel to issue the
CALL
instruction.
Initcode routines can be very different in nature. They might reside in
ROM or SRAM. They might be called once during the booting process or
multiple times. They might be volatile and be overwritten by other boot
blocks after executing, or they might be permanently available after boot
time. The boot kernel has no knowledge of the nature of initcodes and has
no restrictions in this regard. Refer to
Loader and Utilities Manual
for how
this feature is supported by the tools chain.
It is the user’s responsibility to ensure that all code and data sections that
are required by the initcode are present in memory by the time the
initcode executes. Special attention is required if initcodes are written in
C or C++ language. Ensure that the initcode does not contain calls to the
runtime libraries. Do not assume that parts of the runtime environment,
such as the heap are fully functional. Ensure that all runtime components
are loaded and initialized before the initcode executes.
Summary of Contents for EZ-KIT Lite ADSP-BF506F
Page 50: ...Contents l ADSP BF50x Blackfin Processor Hardware Reference ...
Page 92: ...Development Tools 1 30 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 110: ...Interface Overview 3 12 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 236: ...Internal Flash Memory Control Registers 6 92 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 650: ...Programming Examples 15 56 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 804: ...Programming Examples 17 92 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1194: ...Programming Examples 24 90 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1256: ...ACM Registers A 50 ADSP BF50x Blackfin Processor Hardware Reference ...
Page 1264: ...Boundary Scan Architecture B 8 ADSP BF50x Blackfin Processor Hardware Reference ...