This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320C6713B: Unresolved symbol.

Part Number: TMS320C6713B

Tool/software: Code Composer Studio

Hey folks!

I see this error which says unresolved symbols remain! I don't know why this appears. I have added all the support files that it requires. The program is taken from Chassaing book-sine8_LED. Can somebody please help me with this. Any kind of suggestion would be much appreciated. 

Thank you

Akshay.

  • Akshay,

    Over the years there were a few threads that discuss similar issues, hopefully they can help you.

    The thread below has the same error as yours:
    https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/130013 

    The thread below shows a definition of the variable inputsource, which may be applicable to the problem you are seeing:
    https://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/p/215890/828038 

    Hope this helps,
    Rafael

    (edit) fixed a link

  • Hey Rafael,


    #include "C6713dskinit.h"
    #define using_bios //if BIOS don't use top of vector table
    extern Uint32 fs; //for sampling frequency
    extern Uint16 inputsource;

    void c6713_dsk_init() //dsp-peripheral initialization
    {
    DSK6713_init(); //call BSL to init DSK-EMIF,PLL)

    hAIC23_handle=DSK6713_AIC23_openCodec(0, &config);//handle(pointer) to codec
    DSK6713_AIC23_setFreq(hAIC23_handle, fs); //set sample rate
    DSK6713_AIC23_rset(hAIC23_handle, 0x0004, inputsource); // choose mic or line in
    MCBSP_config(DSK6713_AIC23_DATAHANDLE,&AIC23CfgData);//interface 32 bits toAIC23

    MCBSP_start(DSK6713_AIC23_DATAHANDLE, MCBSP_XMIT_START | MCBSP_RCV_START |
    MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);//start data channel again
    }

    void comm_poll() //added for communication/init using polling
    {
    poll=1; //1 if using polling
    c6713_dsk_init(); //init DSP and codec
    }

    void comm_intr() //for communication/init using interrupt
    {
    poll=0; //0 since not polling
    IRQ_globalDisable(); //disable interrupts
    c6713_dsk_init(); //init DSP and codec
    CODECEventId=MCBSP_getXmtEventId(DSK6713_AIC23_codecdatahandle);//McBSP1 Xmit

    #ifndef using_bios //do not need to point to vector table
    IRQ_setVecs(vectors); //point to the IRQ vector table
    #endif //since interrupt vector handles this

    IRQ_map(CODECEventId, 11); //map McBSP1 Xmit to INT11
    IRQ_reset(CODECEventId); //reset codec INT 11
    IRQ_globalEnable(); //globally enable interrupts
    IRQ_nmiEnable(); //enable NMI interrupt
    IRQ_enable(CODECEventId); //enable CODEC eventXmit INT11

    output_sample(0); //start McBSP interrupt outputting a sample
    }

    void output_sample(int out_data) //for out to Left and Right channels
    {
    short CHANNEL_data;

    AIC_data.uint=0; //clear data structure
    AIC_data.uint=out_data; //32-bit data -->data structure

    //The existing interface defaults to right channel. To default instead to the
    //left channel and use output_sample(short), left and right channels are swapped
    //In main source program use LEFT 0 and RIGHT 1 (opposite of what is used here)
    CHANNEL_data=AIC_data.channel[RIGHT]; //swap left and right channels
    AIC_data.channel[RIGHT]=AIC_data.channel[LEFT];
    AIC_data.channel[LEFT]=CHANNEL_data;
    if (poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//if ready to transmit
    MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//write/output data
    }

    void output_left_sample(short out_data) //for output from left channel
    {
    AIC_data.uint=0; //clear data structure
    AIC_data.channel[LEFT]=out_data; //data from Left channel -->data structure

    if (poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//if ready to transmit
    MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//output left channel
    }

    void output_right_sample(short out_data) //for output from right channel
    {
    AIC_data.uint=0; //clear data structure
    AIC_data.channel[RIGHT]=out_data; //data from Right channel -->data structure

    if (poll) while(!MCBSP_xrdy(DSK6713_AIC23_DATAHANDLE));//if ready to transmit
    MCBSP_write(DSK6713_AIC23_DATAHANDLE,AIC_data.uint);//output right channel
    }

    Uint32 input_sample() //for 32-bit input
    {
    short CHANNEL_data;

    if (poll) while(!MCBSP_rrdy(DSK6713_AIC23_DATAHANDLE));//if ready to receive
    AIC_data.uint=MCBSP_read(DSK6713_AIC23_DATAHANDLE);//read data

    //Swapping left and right channels (see comments in output_sample())
    CHANNEL_data=AIC_data.channel[RIGHT]; //swap left and right channel
    AIC_data.channel[RIGHT]=AIC_data.channel[LEFT];
    AIC_data.channel[LEFT]=CHANNEL_data;

    return(AIC_data.uint);
    }

    short input_left_sample() //input to left channel
    {
    if (poll) while(!MCBSP_rrdy(DSK6713_AIC23_DATAHANDLE));//if ready to receive
    AIC_data.uint=MCBSP_read(DSK6713_AIC23_DATAHANDLE);//read into left channel
    return(AIC_data.channel[LEFT]); //return left channel data
    }

    short input_right_sample() //input to right channel
    {
    if (poll) while(!MCBSP_rrdy(DSK6713_AIC23_DATAHANDLE));//if ready to receive
    AIC_data.uint=MCBSP_read(DSK6713_AIC23_DATAHANDLE);//read into right channel
    return(AIC_data.channel[RIGHT]); //return right channel data
    }



    This is my c6713dskinit.c file. I think it has been defined properly. I read the thread what you posted here, and it was talking about inputsource() or input_source(). Could you look into this, please?
  • Hi,

    Akshay Vadali said:
    This is my c6713dskinit.c file. I think it has been defined properly. I read the thread what you posted here, and it was talking about inputsource() or input_source(). Could you look into this, please?

    I found another thread that may give some additional hints to fix that.

    https://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/453594 

    If that does not work for you, I suggest you to contact the author and try to see if you can get additional information. This code is not provided by TI and therefore we can't suggest anything else other than it was already discussed here.

    Hope this helps,

    Rafael