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.

eZdsp C5535 // IRQ problem with CSL



Hello, I'm trying to build a guitar effects box with the eZdsp C5535 and I'm experimenting some problems. In order to configure interruptions I've been using the CSL that CCS v4 has. The problem is that reading examples I've seen that a function called VECSTART() is used in order to set the vector table, but I can't find it in any place inside the CSL ( just appears in the commented section that explains how to use API).

So my questions is where to find that or how to include that function.

Maybe I need some other files beside CSL files?

  • Hello,

    VECSTART is a table written in assembly that maps interrupts to their respective interrupt service routines.
    You can find its source inside of <path>\c55_csl_3.05\c55xx_csl\src\vectors.asm
    It is used with in conjunction with the linker .cmd file to place the vector table in memory.

    The CSL uses IRQ_setVecs to configure the vector table in memory. You can also modify a single vector with IRQ_plug.
    See that source code here: C:\c55_lp\c55_csl_3.05\c55xx_csl\src\csl_intc.c
    Documented in c55_csl_3.05/c55xx_csl/doc/c55xx_csl_api_reference_html/group___c_s_l___i_n_t_c___f_u_n_c_t_i_o_n.html

    Refer to TMS320C55x Optimizing C/C++ Compiler v 4.4 User's Guide (4.3.3 Initialization by the Interrupt Vector, 6.6 Interrupt Handling)
    www.ti.com/.../spru281g.pdf

    I recommend you grab the latest CSL from here: http://www.ti.com/tool/sprc133

    While your at it, check out the C55xx Teaching ROM for some guitar effect examples:
    e2e.ti.com/.../2040.c5000-teaching-rom
    processors.wiki.ti.com/.../Porting_C5000_Teaching_ROM_to_C5535_eZdsp

    Hope this helps,
    Mark
  • Hi Mark,

    Thank you for the answer , valuble info there.
    I've got a few questions already;

    So the vectors.asm has to be included as a linker file, a header or maybe the linker file will include him automatically?

    I've tried the IRQ_Plug but idk why it dont works to me ( maybe linker problem) , it seems to not recognize the name of a function as a IRQ_IsrPtr. This can be solved somehow? or it can be done with a diferent function as IRQ_config.

    And the last question ( for today hehe), I've seen that my CSL library is old, but as I'm working with CCS v4 I didn't dare to updated it with the 2016 version CSL. Is there any problem using old CCS with the newest CSL ( CCSv4 + 2016 CSL = problem?)

    Ty again for your time and excuse me if my questions are a bit basic.

    Glad to hear from you soon.