
**************************************************************************************************

This zip file belongs to application note

	Managing Multiple DXEs on ADSP-BF561 Blackfin Processors (EE-272)

that can be found at www.analog.com/ee-notes.


Analog Devices, Inc.
DSP Division
Three Technology Way
Norwood, MA 02062

Date Created:	05/05/05

_________________________________________________________________________________________________
This directory contains an example ADSP-BF561 project that elaborates on the booting process.
It shows how to load,execute and switch between two or more executables sequentially at 
run-time without having to reset the EZ-KIT Lite.
The given example was tested using VisualDSP++ 4.0 and is applicable for 
silicon revision 0.2 and beyond.


Files contained in the main directory:

bf561_prom16.dpg		Visual DSP++ Project Group file (unique to the ADSP-BF561)
bf561_prom16.dpj		Visual DSP++ Project file
bf561_prom16.dsp		DSP file conisting of the SSL (Second Stage Boot loader)
cmds.c					C file that passes arguments to the SSL
basiccrt.s				C run-time library
bf561_prom16.ldf		Linker Description File


Sub-directories:

blink_lower:

contains BF561_Blink1.dpg (project group and associated files)-> scrolls LED's 13-20.

blink_upper:

contains BF561_Blink2.dpg (project group and associated files)-> scrolls LED's 5-12.

Debug:

contains the dsp executable (bf561_prom16.dxe) and loader file multiple.ldr that is 
created during the build and is programmed into flash using the flash programmer.


Details:

The given example demonstrated a multi-application boot without reset on the 
ADSP-BF561, though the given project was run on a single core (core A),both cores
can be used my making appropriate modifications in the SSL.

The zip file contains two blink applications that scroll LEDs and a second stage
loader project. Upon reset, the on-chip boot ROM will boot in the SSL and the 
two blink applications.
if PF5(SW6) is asserted,DXE1 that scrolls LED's 13-20 will be booted in and if
PF6(SW7) is asserted, DXE2 that scrolls LED's 5-12 will be executed.At any given
point, we can switch between these two executables by asserting the respective
PF (either SW6 or SW7) without having to reset.

There is a loader file called multiple.ldr in the Debug folder that is used
for this demo. The following sequence needs to be followed to build this file.

1) Build BF561_Blink1.dpg (blink_lower)to create p0.dxe and p1.dxe for the
1st application.

2) Build BF561_Blink2.dpg(blink_upper) to create p0.dxe and p1.dxe for the 
2nd application.

3) Build bf561_prom16.dpg to create bf561_prom16.dxe.

4)Use the loader-optionstab to create a loader file (multiple.ldr) incorporating the 
SSL and the individual executables on the command line.

4) Program multiple.ldr into flash by using the flash programmer utility on the BF-561
Ez-kit Lite.

Once loaded, press reset to boot in the SSL and then switch between the two applications.
