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:



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 = 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:






[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,