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.

GenServer on DVSDK L138

Other Parts Discussed in Thread: OMAPL138

Hi,

I have L138 and use DVSDK 04.03.00.06.

I want to add MP3 support to codec server, using GenServer (that seems to modify the same things described in How do I Integrate new codecs into DVSDK).

I have downloaded MP3 decoder (v 1.31.01.001) from http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Audio/index_FDS.html and I have copied the codec directory in <DVSDK_DIR>/codecs-omapl138_4_02_00_00/packages/ti/sdo/codecs/.

in DVSDK root dir I call

$ make -C codecs-omapl138_4_02_00_00 -f Makefile.ce.genserver

In genserver wizard I load <DVSDK_DIR>/codecs-omapl138_4_02_00_00/ti_sdo_server_cs_wizard.svrwiz, changing the directory to match my directory tree.

I add all codecs, included MP3 decoder. Then I save.

Last step is to run

$ make codecs_clean && make codecs

that fails with an error:

js: "./config.bld", line 23: ReferenceError: "cgRootDir" is not defined.
#
# all files complete.
all files complete: lun 28 gen 2013, 10.15.07, CET.
make[1]: uscita dalla directory "/home/user/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00"

where am I wrong?

best regards

  • mastupristi said:
    js: "./config.bld", line 23: ReferenceError: "cgRootDir" is not defined.

    Have you set your C6000 cgtools dir in the wizard?

    The following link shows a screen shot of where you would set this: http://processors.wiki.ti.com/index.php/File:Genserver1.jpg.  Please ensure you have set the "Set C6000 TI 'cgtools' Dir" box to the location of your CG tools (the directory above the 'bin' subdirectory).

    Regards,

    - Rob

     

  • yes:

    what happens is that <home>/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/config.bld does not exist by default in dvsdk. Running make it works. But GenServer also generates this file, which requires this path but I do not know where to put it and how to call the environment variable.


    And also: in <home>/ti-dvsdk_omapl138-evm_04_03_00_06/Rules.make is present an environment variable called CODEGEN_INSTALL_DIR but is evidently ignored or is not what it need


    best regards

  • Try unchecking the "Don't check for build dependencies......" check box. When it is checked, you must manually edit the generated makefile to point to a Rules.mak. When it is unchecked, the value entered in the "Set C6000 TI 'cgtools' DIr" will be used.

    Joe

  • Tried,

    same error.

    I noticed that a file config.bld already exists (before running GenServer) in <home>/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/config.bld, and it also needs cgtools dir:

    /* location of your CG tools */
    C674.rootDir=java.lang.System.getenv("CODEGEN_INSTALL_DIR");

    It takes CODEGEN_INSTALL_DIR from environment and it works. InfactCODEGEN_INSTALL_DIR is defined and populated by <home>/ti-dvsdk_omapl138-evm_04_03_00_06/Rules.make.

    Instead the file <home>/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/config.bld created by GenServer seems to be searching for CODEGEN_INSTALL_DIR in the command line parameters:

    /* initialize local vars with those set in xdcpaths.mak (via XDCARGS) */
    for (x = 0; x < arguments.length; x++) {
        if (arguments[x].match(/^CODEGEN_INSTALL_DIR=/)) {
            cgRootDir = arguments[x].split("=")[1];
        }
    }

    there is also a makefile generated by GenServer in <home>/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/ that pass CODEGEN_INSTALL_DIR as parameter on xdc command line:

    XDCARGS=CODEGEN_INSTALL_DIR=\"$(CODEGEN_INSTALL_DIR)\"

    # Construct XDCPATH from the paths above - this is the path containing
    # dependencies required for this Server
    XDCPATH=$(XDC_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/packages;$(BIOS_INSTALL_DIR)/packages;$(LINK_INSTALL_DIR);$(BIOSUTILS_INSTALL_DIR)/packages;$(XDAIS_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/packages;/home/user/ti-dvsdk_omapl138-evm_04_03_00_06/c6accel_1_01_00_07/soc/packages;/home/user/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages

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

    I don't want to run this makefile, I want (and I need) to run make codecs from <home>/ti-dvsdk_omapl138-evm_04_03_00_06/


    So, how to force GenServer to write the correct config.bld? Do I need to modify it by hand? Is it safe?

    I think, however, that proceed in this way, is tricky


    best regards

    Max

  • In that case you should only need to check the "Don't check for build dependencies......" checkbox, and then manually edit the GenServer generated makefile to point to <home>/ti-dvsdk_omapl138-evm_04_03_00_06/Rules.make :

    /* snippet from Genserver generated makefile */

    RULES_MAKE := <relative path to user specified Rules.make>
    ifneq ($(wildcard $(RULES_MAKE)),)
    include $(RULES_MAKE)
    endif


    Regards,
    Joe

  • these lines in the generated makefile, are already present:

    # set this to your codec engine installation
    CE_INSTALL_DIR = /home/user/ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11

    # If we're a subcomponent, allow larger product settings to override our
    # defaults.  The variable $(RULES_MAKE) can be overridden on the 'make'
    # command-line if the location below is not correct (for example, if you
    # want to use a Rules.make from some other location.
    RULES_MAKE := $(CE_INSTALL_DIR)/../Rules.make
    ifneq ($(wildcard $(RULES_MAKE)),)
    include $(RULES_MAKE)
    endif

    I repeat that I think it would be to change <home>/ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/config.bld.

    best regards
    Max

  • Then to point to your Rules.make, change this:

    RULES_MAKE := $(CE_INSTALL_DIR)/../Rules.make

    to this:

    RULES_MAKE := /home/user/ti-dvsdk_omapl138-evm_04_03_00_06/Rules.make

    Settings in this makefile are passed to ti-dvsdk_omapl138-evm_04_03_00_06/codecs-omapl138_4_02_00_00/packages/ti/sdo/server/cs/config.bld in the statement:

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


    Joe


  • RULES_MAKE := $(CE_INSTALL_DIR)/../Rules.make

    and:

    RULES_MAKE := /home/user/ti-dvsdk_omapl138-evm_04_03_00_06/Rules.make

    points exactly the same file, infact GenServer populate a variable called CE_INSTALL_DIR, in makefile, in this way:

    # set this to your codec engine installation
    CE_INSTALL_DIR = /home/user/ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11

    what happens is that it seems that if you run 'make codecs' from the root directory /home/user/ti-dvsdk_omapl138-evm_04_03_00_06/, that makefile is completely ignored, in fact, removing it, you do not get any error about the lack of such makefile.


    please try to do the steps I described above, to verify the behavior.


    best regards


    Max

  • Have verified on our install and found not issue. Have you followed the steps in the OMAPL138 Software Developers Guide section
    Integrating a new Codec in the OMAPL138 DVSDK?

    http://downloads.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/latest/exports/OMAPL138_Software_Developers_Guide.pdf

    Joe