I want to test out the functions from lib_dsp and I started with dsp_filters_biquad.
I read through the xCORE-200 DSP Library and I inserted the following code in my main processing loop:
Code: Select all
int32_t filter_coeff[DSP_NUM_COEFFS_PER_BIQUAD] = { Q28(+0.998), Q28(-1.996), Q28(0.998),Q28(+1.996), Q28(-0.996) };
int32_t filter_state[DSP_NUM_STATES_PER_BIQUAD] = { 0, 0, 0, 0 };
for (int i = 0; i < NUM_USB_CHAN_IN/2; i++){
int32_t result= dsp_filters_biquad(samplesIn[NUM_USB_CHAN_IN/2 + i] , filter_coeff, filter_state, 28 );
}
Code: Select all
xrun: Program received signal ET_LOAD_STORE, Memory access exception.
dsp_filters_biquad (input_sample=0, filter_coeffs=0x7fcdc, state_data=0x7fccc, q_format=28) at C:/Users/betatester1/Desktop/XMOS_Projects/SI_SI24/lib_dsp/src\dsp_filters.c:1087
1087 asm("ldd %0,%1,%2[0]":"=r"(c2),"=r"(c1):"r"(filter_coeffs));
Current language: auto; currently minimal
I have updated XtimeComposer to the latest version 14.2.1, I have the latest version of lib_dsp (3.0.0) and I am using a custom board that has the XU216-512-TQ128 uP.
If I remove the call to dsp_filters_biquad() and run the code, the board performs correctly.
Any help is appreciated,
Ilie