AnsweredAssumed Answered

Trouble with the Multiband Graphic Equalizer SDK, Linker Error

Question asked by chris_k. on Jul 22, 2013
Latest reply on Jul 23, 2013 by chris_k.

Hello Comunity,

 

i'm trying to use the Multiband Graphic Equalizer SDK from the Analog Devices website for a university project.

The SDK comes with  an example project (fileio) and i want to use it in my dual core project on the ADSZ-BF561-EZLITE board, on core A whitch does the signal processing.

 

Like described in the SDKs documentary i'm trying to use the SDK like in the example, but i get a linker error when i  try to  generate an equalizer instance.

 

What i do in my main file (core a):

 

outside the main routine i do this:

 

#include "adi_eq_audpp.h"

 

 

// Memory for graphic equalizer instance

char instance_memory[1764]; // eq-spec s. 3

 

// Memory for input and output buffers

int input_buffer[440];

int output_buffer[440];

 

 

 

in my main routinge (outside while(1)) i do this:

 

//equalizer

adi_eq_audpp_mem_t memory_blocks;

adi_eq_audpp_instance_t* instance = 0;

adi_eq_audpp_config_t configuration = {};

 

adi_eq_audpp_audio_data_t *input_pcm_data[1] = {input_buffer};

adi_eq_audpp_audio_data_t *output_pcm_data[1] = {output_buffer};

 

// use same equalizer configuration for all channels

configuration.num_channels = 2;

configuration.sample_rate = 44100;

 

configuration.num_bands = 3;

 

int gains = 1; //evtl. 1200

configuration.gains = &gains;

 

//single graphic equalizer instance

memory_blocks.state.fast.prio0 = instance_memory;

 

//here i get the error!!

instance = adi_eq_audpp_create(&memory_blocks);

 

 

 

 

In the last line i get the linker error listed below:

[Error li1021]  The following symbols referenced in processor 'p0' could not be resolved:

        'adi_eq_audpp_create_2_0 [_adi_eq_audpp_create_2_0]' referenced from 'corea.dlb[main_core_A.doj]'

 

 

I already tryed to include the "libadi_eq_audpp_bf.dlb" library file delivered with the SDK into my project. I'm not sure if i did this in the right way, i just added the file to the project and it was listed automatically in the linker files of core A. With this i get the linker error listed below:

 

 

 

 

[Warning li2060]  The following input section(s) that contain program code

        and/or data have not been placed into the executable for processor 'p0'

        as there are no relevant commands specified in the LDF:

 

        .\libadi_eq_audpp_bf.dlb[adi_eq_audpp.doj](adi_fast_prio0_code)

        .\libadi_eq_audpp_bf.dlb[adi_eq_audpp.doj](adi_slow_noprio_r)

 

 

[Error li1060]  The following symbols are referenced, but not mapped:

        '_adi_eq_audpp_create_2_0' referenced from corea.dlb[main_core_A.doj](program)

 

 

 

 

 

 

I'm a little overextended with this at the moment. Does someone of You see what i'm making wrong? Have i added the library to the project right like this?

 

 

Thank's in advance,

 

Chris

Outcomes