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/TMS320C6678: Code composer studio

Part Number: TMS320C6678

Tool/software: Code Composer Studio

I am new to C6x DSP and trying to understand about intrinsics ,I have installed CCSv5 and executed "Hello World" through simulator support,how can I create a project with a program written using intrinsics and run in simulator

  • Hello!

    Intrinsics are specific instructions, which are not that easy written in C. So to specifically issue certain instruction in C code programmer uses its C alias, just like a function. Intrisic function names start with underscore. Complete list is in the reference. If you haven't installed help yet, may want to install C6000 compiler help. Then proceed to 7.5.5. Using Intrinsics to Access Assembly Language Statements.

    I would not define a goal as learn to code with intrinsics. Instead I would suggest start with idea of optimization at

    https://www.ti.com/lit/an/sprabf2/sprabf2.pdf,

    then proceed to

    https://www.ti.com/lit/an/sprabg7/sprabg7.pdf

    Proper combination of all those techniques may give nice results.

  • I have tried out,but I'm unable to use most of the intrinsics declared in c6x.h, where can i find the functions declarations of intrinsics like _ dotp2 etc.

  • Hello,

    See, here is the point: these function starting with underscore, they have no body defined elsewhere. Instead, when compiler sees intrinsic function, it replaces it with appropriate assembly instruction.

    So imagine you have packed complex data, two 16 bit values representing real and imaginary parts are lower and upper parts of 32 container. So once you pack

    x = a+jb

    y = c+jd

    your dot product will be

    z = (x*y)=a*c+b*d;

    With intrinsics you write that as

    z = _dotp2( x, y);

    Perhaps one thing you need to do is define "6600" as target processor option. To my knowledge, that's all you need.