Circular Buffer Built-In Functions; Automatic Circular Buffer Generation - Analog Devices VISUALDSP++ 3.5 Manual

C/c++ compiler and library for adsp-219x processors
Hide thumbs Also See for VISUALDSP++ 3.5:
Table of Contents

Advertisement

int __builtin_external_vol_memory_read(int,
volatile void* addr);
void __builtin_external_vol_memory_write(int,
volatile void* addr, int);
The
DMPG_val
external memory address. The
memory. The
val
written to external memory. The variants where
should be used when the accessed memory is changed by interrupts of
peripherals in a way that may not be visible to the compiler. For example,
#include <sysreg.h>
section("external_memory_section")
static int GlobalTable[256];
int main() {
int page, read_value, value_to_write = 0;
asm("%0 = PAGE(GlobalTable); " : "=e"(page): : );
external_memory_write(page, &GlobalTable[0], value_to_write);
read_value = external_memory_read(page, &GlobalTable[1]);
return read_value;
}

Circular Buffer Built-In Functions

The C/C++ compiler provides the following built-in functions for using
the ADSP-219x processor's circular buffer mechanisms. You should
include the
builtins.h
leads to unresolved symbols at link time.

Automatic Circular Buffer Generation

If optimization is enabled, the compiler will automatically attempt to use
circular buffer mechanisms where appropriate. For example,
void func(int *array, int n, int incr)
{
VisualDSP++ 3.5 C/C++ Compiler and Library Manual
for ADSP-219x DSPs
parameter is the value of the upper 8 bits of the 24-bit
addr
parameter to
external_memory_write
file before using these functions. Failure to do so
parameter is a pointer to the external
is a volatile pointer
addr
Compiler
is the value to be
1-103

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the VISUALDSP++ 3.5 and is the answer not in the manual?

Questions and answers

Related Products for Analog Devices VISUALDSP++ 3.5

Table of Contents