General Guidelines
Bad: compiler assumes that two memory accesses together may give
a stall.
This is done by using the compiler extension described in
Support Keywords (pm dm)" on page
the type definition tells the compiler that the array is located in what is
notionally called "Program Memory" (PM). The memory of a ADSP-219x
DSP is in one unified address space and there is no restriction concerning
in which part of memory program code or data can be placed as on previ-
ous generations of DSP architectures like the ADSP-218x DSPs.
However, the default .
different memory block than non-qualified (or
allowing two accesses to occur simultaneously without incurring a stall.
The array declaration of one of either
pm int a[100];
and any pointers to the buffer a become, for example,
pm int *p = a;
to allow simultaneous accesses to the two buffers.
Note that the explicit placement of data in PM can only be done for global
data.
2-16
files ensure that
LDF
VisualDSP++ 3.5 C/C++ Compiler and Library Manual
1-78. Placing a
pm
qualified data is placed in a
pm
qualified) data, thus
dm
or b is modified to
a
for ADSP-219x DSPs
"Dual Memory
qualifier before
Need help?
Do you have a question about the VISUALDSP++ 3.5 and is the answer not in the manual?