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.

C6713 - Problem accessing the CSLAPI functions

Hello everyone,

I'm programming on a custom C6713 device (Dmodule 6713) and calling two functions from the cslapi namely:

CSLAPI void IRQ_map(Uint32 eventId, Uint32 intNumber);
CSLAPI void *IRQ_setVecs(void *vecs);

The problem is that when I compile my project, the symbols of these functions are unresolved.

My code is as follows:

main.c:

#include <csl_irq.h>

#include "function1.h"

void main(void){

function1();

...

}

function1.c:

#include <csl_irq.h>

void main(void){

    IRQ_setVecs((void *)0x00000000);     /* point to the IRQ vector table    */
    IER |= 0x00000022;
    IRQ_map(IRQ_EVT_EXTINT5, 5);

...

}

And the errors after compilation:

Description    Resource    Path    Location    Type
unresolved symbol _IRQ_map, first referenced in ./main.obj    ProjetGenome             C/C++ Problem
Description    Resource    Path    Location    Type
unresolved symbol _IRQ_setVecs, first referenced in ./main.obj    ProjetGenome             C/C++ Problem


I also tried compiling without including cls irq in the main.c, but the result was the same.


Could anyone please help me with this problem?

Thank you in advance

Thibault

  • One thing I forgot to mention: I included the C6xCSL include folder, as well as the compiler (c6000_742) include and lib folders. Thanks again.
  • Hi,

    Thanks for your post.

    Please refer the below link for "TMS320C6000 Chip Support Library API Reference Guide" - Chapter 14 covers the IRQ Module which, if you are not using DSP/BIOS, can be used to configure and handle interrupts

    http://www.ti.com/lit/ug/spru401j/spru401j.pdf

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    ------------------------------------------------------------------------------------------------

  • Hello,

    Thank you for your answer. But I did check the reference beforehand and I respected the syntax for both functions:

    IRQ_setVecs((void *)0x00000000);
    with 0x0 being the adress of my reset vector table;

    and IRQ_map(IRQ_EVT_EXTINT5, 5);
    with IRQ_EVT_EXTINT5 which is a valid event.

    Edit: I also configured my interrupt register IER with this instruction: IER|=0x00000022;

    So I do not think my issue comes from there. Do you have any other leads?

    Regards
    Thibault