Memory Management Using Overlays
When the overlay manager is called via the jump instruction of the PLIT
table,
contains the referenced function's overlay ID and
R0
referenced function's run-time address. The overlay manager uses the
overlay ID and run-time address to load and execute the referenced
function.
Example – Managing Two Overlays
The following example has two overlays each containing two functions.
Overlay 1 contains the functions
fft_last_stage
fft_next_to_last
For examples of overlay manager source code, refer to the example pro-
grams shipped with the development software.
The overlay manager:
• Creates and maintains a stack for the registers it uses
• Determines whether the referenced function is in internal memory
• Sets up a DMA transfer
• Executes the referenced function
Several code segments for the LDF and the overlay manager are displayed
and explained next. These examples are for Blackfin processors.
Listing 5-3. FFT Overlay Example 1
OVERLAY_INPUT
{
ALGORITHM (ALL_FIT)
OVERLAY_OUTPUT (fft_one.ovl)
INPUT_SECTIONS ( Fft_1st_last.doj(program) )
} > ovl_code
5-12
fft_first_two_stages
. Overlay 2 contains functions
.
// Overlay to live in section ovl_code
VisualDSP++ 3.5 Linker and Utilities Manual
contains the
R1
and
fft_middle_stages
for 16-Bit Processors
and
Need help?
Do you have a question about the VisualDSP++ 3.5 and is the answer not in the manual?