DSP Library no funciona en MPLAB X

1

Tengo que hacer un filtro digital con un dsPIC30F4011 (soy completamente nuevo en microcontroladores). Estaba leyendo la documentación sobre la biblioteca de DSP para averiguar cómo usarla. Creé un programa de C simple basado en un fragmento de código que vi en la documentación:

#include <stdio.h>
#include <stdlib.h>
#include <p30F4011.h>
#include <dsp.h>
#include <xc.h>

int main(int argc, char** argv) {

    fractional *dstV;
    fractional srcV1[2] = {Q15(0.2), Q15(0.2)};
    fractional srcV2[2] = {Q15(0.5), Q15(0.5)};

    dstV = VectorAdd(2, dstV, srcV1, srcV2);

    int n = 1;

    return (EXIT_SUCCESS);
}

Pero cuando lo construyo, recibo los siguientes mensajes:

build/default/production/main.o(.text+0x22): In function '_main':
: undefined reference to '_VectorAdd'
make[2]: *** [dist/default/production/test-dspic.X.production.hex] Error 255
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
nbproject/Makefile-default.mk:135: fallo en las instrucciones para el objetivo 'dist/default/production/test-dspic.X.production.hex'
make[2]: se sale del directorio '/home/adrian/MPLABXProjects/test-dspic.X'
nbproject/Makefile-default.mk:90: fallo en las instrucciones para el objetivo '.build-conf'
make[1]: se sale del directorio '/home/adrian/MPLABXProjects/test-dspic.X'
nbproject/Makefile-impl.mk:39: fallo en las instrucciones para el objetivo '.build-impl'

BUILD FAILED (exit value 2, total time: 1s)

Dice que la función VectorAdd no está definida. ¿Hay algo mal o falta?

    
pregunta user25707

1 respuesta

0

Al agregar la biblioteca libdsp-elf.a al proyecto desde el directorio xc16 / lib correspondiente, se puede vincular correctamente el programa anterior (al menos en mi entorno).

Revise la sección 1.2 en el documento 51456b.pdf para ver las diferentes maneras de configurarlo (variables de entorno, incluida la sección de biblioteca del proyecto, etc.)

    
respondido por el isdi

Lea otras preguntas en las etiquetas