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.

how to begin to write algorithm on the ccs

hi all:

I want to write an algorithm of video processing in dsp, but I don't konw how to begin. would you like to answer my following questions:

1  Must I add  the BIOS to the project

2  Should I write an algorithm with xDIAS standard at beginning of programming? Possibly  I fulfill the standard,after I finish validating of  the algorithm.

3  would you like to list the files the project of testing algorithm need to add.

4 Is there any guide for the procedure of creating algorithm under ccs.

Thank you!

  • What platform are you using (DM355, DM6467, DM6446, DM6437...)? 

    I will do my best to answer your questions below.

    1. If you would like your codec to integrate into the codec engine framework, then YES.  The software stack from the top-down will be Codec Egnige Framework---> XDM Algorithm ---> XDAIS algorithm  ----> DSP/BIOS operating system..

    2. This is up to you, but I would suggest that keeping the XDAIS standard in mind as you develop your algorithm will make the final process of coverting to XDAIS easier.

    3. Not sure what you mean by this; are you referring to our QualTI tool?  If so, see http://tiexpressdsp.com/wiki/index.php?title=QualiTI_XDAIS_Compliance_Tool for details

    4. Sure, you can find documentation here: http://tiexpressdsp.com/index.php?title=XDAIS_Documentation and you can find a small sample program here: http://tiexpressdsp.com/index.php?title=XDAIS_sample_algorithm

     

  • Juan,

        (for evm6446)

         I have an idea about the last question, I think it is better to develop codec in Linux, because TI provides good codec examples in this system. After installing DVSDK and DVEVM, you can develop your codec imediately.  All of files including "Makefile" and "codec src" have already there, you can  edit src code and build your own codec. 

    But In CCS, after installing CCS v3.3, you don't have "codec_engine_x_xx_xx" and other necessary components.  So you can not begin to develop your own codec right now, you should download some components from TI. 

    Frankly, now I just know how to debug codec in CCS, but I don't know how to develop codec in CCS after installing it.

    Could you provide a document to instruct us on how to develop codec (not debug) in CCS step by step?

    For example:

    1. To install CCS properly.

    2. To download necessary components ( including Codec Engine; XDAIS etc.)

    3.  Creat an project (lib)

    4. .....

     

    All of the above is my humble opinion, I think maybe it's on one-sided for CCS (I hope TI experts who's in CCS team will not be angry about that)  :)

    Thanks.

     

    Lorry.

  • (Sorry, I accidentally "suggested" your own reply as an answer!  I thought it was the button to reply!)

    One thought would be to use CCS4 which just released beta 3.  It is Eclipse-based and can run in Windows or Linux.  So perhaps using CCS4 from Linux would make for a better experience.  (It also has better XDC integration.)

    Another alternative would be to do the development either on a DM6437 board or in a DM6437 simulator.  That way you are doing everything from a Windows environment. 

    From the perspective of the actual codec it does not make any difference.  That's part of the value of developing a xDAIS/XDM algorithm.  That is, it can plug into a SoC device or a DSP-only device without any difference in the actual code.

     

  • Lorry,

    You make a very good point; I normally refer customers to the codec engine examples in Linux host as s good starting point.  Since the user will eventually have to move over to Linux host (unless user is only interested in developing and selling codec algorithms) to test integrate their system, it makes sense to start working in this environment.

    With regards to CCS, as you probrably know, it is not my area of expertise, so maybe someone can add to my following suggestion.  From my little experience with it, it appears to be really easy to install when compared to Linux side, a few clicks on the mouse and your are done (similar to other windows programs).  Once you install CCS; it already includes DSP/BIOS, codegen tools, and XDAIS...I can confim this in CCS 3.3, but I think it applies to other versions as well;  In addition the CCS tutorials guide you thru step by step process on how to create projects and specify project type (lib).  This gives you your basic foundation. 

    For codecs, the CCS projects just become more complex, first you would need to decide if you want your dsp algorithm to be compatible with a particular codec engine version or not; if not, then the above foundation is all you need.  If so, then you will need to read the corresponding codec engine release notes as it outlines which versions of the different software components it is compatible with (BIOS, XDAIS, codegen tools, and a new one framework components...), you can download all the required components via update advisor except for framework components which you will have to copy from Linux host (this is my understanding at least).  After all this, it just becomes another CCS project like the simpler ones in the tutorial, although at a much larger scale, but just C source code.  Anyway, this is my limited CCS understanding.  I will talk to our internal teams and see if we can write a more complete wiki on the topic.  Thank you for your feedback.

     

  • I should have mentioned another option.  I don't know why I didn't think of it before.

    The method I generally see taken in this sort of scenario is to do the buid in Linux and the debugging in CCS.  For example, if you have your build directory shared through Samba then you can map a network drive in Windows and directly load the out file symbols over the network.

  • Thanks , Brad and Juan.

    Yes Brad, I use this method to write my codec and debug it.   The difference is that I used to copy codec files from linux to windows by USB disk,  because I did not know Samba.  Thank you for your suggestion.  :)

  • Thank you for  your help.

    my platform is DM6446.

    Thank Juan for your informations.I think I begin to understand the architecture.

    As Lorry  mentioned, I really need a perticular guide to prepare and create a project which can actually work correctly,although I have finished the study of how to use ccs.