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.

creating xdais genAlg

Hi,

   I am using GenAlg XDAIS tools in CCS 4.1.2.0027 to create an algorithm. I already have various .lib files which I want to use in this project. How would I go about using them? In which files do I specify the include and library paths (config.bld package.bld ?).  The various lib files  have my current non-XDAIS compliant algorithm implementation. I am hoping to consume the algorithm package created by GenAlg into a GenCodecPkg and test it with QualiTi to test for XDAIS compliance.

 

Thanks

  • Hi,

       I modified my config.bld as below

    var C64P = xdc.useModule("ti.targets.C64P");
    C64P.rootDir = cgToolsDir;
    C64P.ccOpts.suffix = "-mi10 -mo ";
    C64P.includeOpts = String "-IC:/work/projects/src/xdais";  /* <----- new option added  line 19*/
    Build.targets.$add(C64P);

     

    For this I get the following error

    C:\Program Files\Texas Instruments\xdctools_3_16_02_32\gmake
    "C:/Program Files/Texas Instruments/xdctools_3_16_02_32/xdc" --xdcpath="C:/Program Files/Texas Instruments/xdais_6_25_01_08/packages" release
    making package.mak (because of package.bld) ...
    js: "./config.bld", line 19: missing ; before statement
    js: C64P.includeOpts = String "-IC:/work/projects/src/xdais";
    js: .................................................................................^
    js: "./config.bld", line 1: Compilation produced 1 syntax errors.
    all files complete.

     

    I am not sure where the ; is missing.  Any suggestions?

     

    Thanks

     

     

     

  • Briefly, I think you can remove "String" from your line to fix the javascript error ( i.e. C64P.includeOpts = "-Ic:/whatever"; ).  However...

    You shouldn't have to modify the 'include path' to find XDAIS headers, they'll already added to your search path in the generated 'makefile'.  The --xdcpath argument is added your include path for free - so as long as your sources #include the headers using the complete path, they should be found.  That is, the recommended usage for including headers is this:

    #include <ti/xdais/ialg.h>

    As for 'other libraries/headers' which your genalg-created algorithm wants to use, we should talk through your use case before I give you advice.
       * Are these headers/libraries your own, and only for use by this algorithm?  If so, you might just copy the source files next to your genalg-created sources and modify the SRCS array in package.bld as described here - http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#Adding_Source_Files  The files would then simply be built as part of your algorithm and linked into the library.

       * Are these external headers/libraries provided 'somewhere else' in another package?  If so, you might use the 'requires' statement in your genalg-created package.xdc to establish a dependency between your alg package and this other package.  Like this, for a fictional "the.other.package" dependency, at the top of your package.xdc:

        requires the.other.package;

       * Are these external headers/libraries purely internal implementation details that consumers of your alg shouldn't be exposed to?  In which case we really may need to modify the include and linker paths (perhaps using the --xdcpath option again?).  With more details, we should be able to better describe options for this use case.

    Let us know and we can provide further guidance.

    And finally, yes, once you get your XDAIS-GenAlg-created package completed, you can use CE's GenCodecPkg to Codec-Engine-enable it.  That's option #1 of the 3 options GenCodecPkg offers on its initial dialog window - shown here:  http://processors.wiki.ti.com/index.php/File:GenCodecPkg1.png

    Chris

  • Hi,

      Thanks for the fix, removing the "String" did the trick. Sorry for the confusion wrt to xdais in my includeOpts path - thats just a folder in which I have just started the process of making my algorithm xdais compliant.

    Thanks for the pointer to GenCodecPkg! I had seen the option of creating a CE package from scratch but thought I should maybe work on the smaller genAlg project to get familiar with the process.

    As to the use case : Right now I have multiple ".lib" 's which I have used for an application on DM642 (CCS , windows). I am trying for XDAIS compliannce so that I can use a codec engine package and run it on a DM6446 ( from what I understand there is no CSL for it, have to move to linux toolchain for video capture and use ARM/DSP framework).

    The .lib's are internal implementation required by the algorithm and so the consumers of the algorithm should not be exposed to them.  I would have preferred to have the internal implementation source separate from the genAlg directory (the libs are used on pc apps too) but considering that I may have to modify these to make them xdais compliant I could copy the source files into genAlg created directory.

     

    Thanks

     

     

     

    Thanks