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.

Local codec on OMAP3730 via GenCodecPkg

Other Parts Discussed in Thread: OMAP3530

Hello,

I can run my algorithm generated via GenCodecPkg in CCSv5.1.0.09 remotely on the DSP on OMAP3730 EVM board. When I tried to build the local codec, the build failed. The problem looks similar to http://e2e.ti.com/support/embedded/linux/f/354/t/92479.aspx that the algorithm was generated for C64P DSP only. I don't see a check box for ARM/A8/WinCE in GenCodecPkg. Is there a new version of Codec Engine 2 that supports multiple targets (DSP+ARM A8 WinCE)? I am using codec_engine_2_26_01_09.

Thanks,

Ying

  • I spoke to the wizard developers, and ARM/A8/WinCE is not supported by any version of  GenCodecPkg !

  • Hi Gunjan, Thanks for finding it out. Is there any plan to support it in the near future? - Ying

  • Ying,

    There are no plans currently of supporting WinCE codec creation via gencodecpkg. But if you use the wizard to create a ARM v5T Linux code, you can make some changes/edits to your makefile and config.bld and point to the right tools etc to create your own WinCE Code.

    Check out the changes to the two files that I have made, and make equivalent changes for your environment (location of tools installation etc).

    Once you have made the edits, run 'make' from teh directory that contains the makefile, and you should have your WinCE based codec built !

    Thanks.

    4666.config.bld.txt

    4442.makefile.txt

  • Hi Gunjan,

    Thank you so much for your reply! The info you provided saved me tons of time as I was ready to roll up my sleeves and start with the 700-line xdcpaths.mak that came with CE exmples :-). Based on your recommendations, I modified config.bld and makefile and got both DSP/remote and ARM/local codecs working on my OMAP3730 EVM board. My solution is shown below.

    BR,

    Ying

    Config.bld:
    var Build = xdc.useModule("xdc.bld.BuildEnvironment");
    var Pkg = xdc.useModule("xdc.bld.PackageContents");
    var C64P_rootdir;
    var WINCE_rootdir;
    var WINCE_projectroot;

    /* initialize local vars with those set in rules.mak (via XDCARGS) */
    for (x = 0; x < arguments.length; x++) {
        if (arguments[x].match(/^CGTOOLS_C64P=/)) {
            C64P_rootdir = arguments[x].split("=")[1];
        } else if(arguments[x].match(/^WINCE_ROOTDIR=/)) {
            WINCE_rootdir = arguments[x].split("=")[1];
        } else if(arguments[x].match(/^WINCE_PROJECTROOT=/)) {
            WINCE_projectroot = arguments[x].split("=")[1];       
        }
    }

    /* should test here that cgRootDir is set! */
    var targ = xdc.useModule("ti.targets.C64P");
    targ.rootDir = C64P_rootdir;
    targ.ccOpts.suffix = "-mi10 -mo ";
    Build.targets.$add(targ);

    /* We remove a few profiles, just to cut down on build time */
    delete targ.profiles["coverage"];
    delete targ.profiles["profile"];
    delete targ.profiles["whole_program"];
    delete targ.profiles["whole_program_debug"];
     
    /* build for OMAP 3730 ARM target */
    var targ = xdc.useModule("microsoft.targets.arm.WinCE");
    targ.rootDir = WINCE_rootdir;
    targ.projectRoot = WINCE_projectroot;  
    Build.targets.$add(targ);

    /* We remove a few profiles, just to cut down on build time */
    delete targ.profiles["coverage"];
    delete targ.profiles["profile"];
    delete targ.profiles["whole_program"];
    delete targ.profiles["whole_program_debug"];
     
    /* Create a .zip file for redistribution.  Remove this line if you prefer .tar */
    Pkg.attrs.archiver = 'zip';

    makefile:

    # your various installation directories
    XDC_INSTALL_DIR=C:/Tools/xdctools_3_16_01_27
    CE_INSTALL_DIR=D:/Wince600/3rdParty/dvsdk_wince_01_11_00_03_patch_01/src/codec_engine_2_26_01_09
    XDAIS_INSTALL_DIR=D:/Wince600/3rdParty/dvsdk_wince_01_11_00_03_patch_01/src/xdais_6_26_01_03
    CODEGEN_INSTALL_DIR=C:/Tools/C6000CodeGenerationTools6_1_9
    BIOS_INSTALL_DIR=C:/Tools/bios_5_41_00_06

    WINCE_ROOTDIR=D:/Wince600
    WINCE_PROJECTROOT=$(WINCE_ROOTDIR)/OSDesigns/EVM_3530/EVM_3530/Wince600/EVM_OMAP3530_ARMV4I
    CGTOOLS_C64P=$(CODEGEN_INSTALL_DIR)

    XDCARGS=CGTOOLS_C64P=\"$(CGTOOLS_C64P)\" \
       WINCE_ROOTDIR=$(WINCE_ROOTDIR) \
       WINCE_PROJECTROOT=$(WINCE_PROJECTROOT)
       
    XDCPATH=$(CE_INSTALL_DIR)/packages;$(XDAIS_INSTALL_DIR)/packages; $(BIOS_INSTALL_DIR)/packages;

    all:
     "$(XDC_INSTALL_DIR)/xdc" XDCOPTIONS=$(XDCOPTIONS) XDCARGS="$(XDCARGS)" --xdcpath="$(XDCPATH)" release

    clean:
     "$(XDC_INSTALL_DIR)/xdc" clean