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.

building a Codec Engine remote app

Hello,

I'm able to build the CE examples provided in the EZSDK 5.04.00.11 distribution using the make command. In my case It generates an app_local.xe674 executable file in every examples/ti/sdo/ce/examples/apps/<example>/bin directory. However I cannot build a remote application as I defined in my xdcpaths.mak with this option:

PROGRAMS := APP_CLIENT DSP_SERVER

How could I generate app_remote executable files like those I can run on my dm816x target board?

Regards,
gaston

  • Gaston,

    Have you set the DEVICES variable in <CE_INSTALL_DIR>/examples/xdcpaths.mak to TI816X?  Also, did you set the various toolchain installation directories in <CE_INSTALL_DIR>/products.mak?

    Best regards,

        Janet

  • janet said:
    Have you set the DEVICES variable in <CE_INSTALL_DIR>/examples/xdcpaths.mak to TI816X?

    Yes I did.

    janet said:
    Also, did you set the various toolchain installation directories in <CE_INSTALL_DIR>/products.mak?

    Well, I only set the CC_V5T var and I've noticed by reading the comments that more than one var has to be set. The other one is CGTOOLS_V5T that I have left in blank so how should I set this var?

    Regards,
    gaston 

  • Gaston,

    If you are building a remote app and a server for the DSP, you need to set:

    ti.targets.elf.C674

    CGTOOLS_V5T

    CC_V5T

    If you are building a server for the M3, you need to set:

    ti.targets.arm.elf.M3

    Best regards,

        Janet

  • Hi Janet,

    I'm still not able to build a CE remote application.

    janet said:

    If you are building a remote app and a server for the DSP, you need to set:

    ti.targets.elf.C674

    CGTOOLS_V5T

    CC_V5T

    The vars ti.targets.elf.C674 and CC_V5T are set to ${EZSDK}/dsp-devkit/cgt6x_7_3_1 and ${HOME}/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc respectively. Here's the console output when the CGTOOLS_V5T is set to  ${EZSDK}/linux-devkit as your colleague suggested in this post.


    dm816x@dm816x-desktop:~/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy$ make

    "/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/xdc" --jobs=1 \
    XDCBUILDCFG=/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/codec_engine.bld \
    XDCPATH="/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy/../../../../../..;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdais_7_22_00_03/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/bios_6_33_02_31/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/linuxutils_3_22_00_02/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/syslink_2_10_03_20/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/osal_1_22_01_09/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/framework_components_3_22_01_07/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/edma3_lld_02_11_02_04/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/ipc_1_24_02_27/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages" \
    XDCOPTIONS=v XDCARGS="DEVICE=\"TI816X\" PROGRAMS=\"APP_CLIENT DSP_SERVER APP_LOCAL\" GPPOS=\"LINUX_GCC\" ti.targets.C64P=\"\" ti.targets.C674=\"\" ti.targets.arm.elf.M3=\"\" ti.targets.elf.C64P=\"\" ti.targets.elf.C64T=\"\" ti.targets.elf.C66=\"\" ti.targets.elf.C674=\"/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/dsp-devkit/cgt6x_7_3_1\" gnu.targets.arm.GCArmv5T=\"/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/linux-devkit;LONGNAME=/home/dm816x/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc;profiles.release.compileOpts.copts=-O2 -ffunction-sections\" google.targets.arm.Bionic=\";LONGNAME=;libcDir=;fsDir=\"" all -PD .
    making all: Sat Jul 7 11:34:54 CEST 2012 ...
    ======== .interfaces [/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy] ========
    #
    # making package.mak (because of package.bld) ...
    /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/xs -Dxdc.path="/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy/../../../../../..;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdais_7_22_00_03/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/bios_6_33_02_31/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/linuxutils_3_22_00_02/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/syslink_2_10_03_20/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/osal_1_22_01_09/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/framework_components_3_22_01_07/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/edma3_lld_02_11_02_04/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/ipc_1_24_02_27/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages;../../../../../.." -Dxdc.root=/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43 -Dxdc.hostOS=Linux -Dconfig.importPath=".;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy/../../../../../..;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdais_7_22_00_03/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/bios_6_33_02_31/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/linuxutils_3_22_00_02/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/syslink_2_10_03_20/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/osal_1_22_01_09/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/framework_components_3_22_01_07/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/edma3_lld_02_11_02_04/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/ipc_1_24_02_27/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/packages;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages;../../../../../..;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43;/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/etc" -Dxdc.bld.targets="" -DTOOLS= -f /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages/xdc/bld/bld.js /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/codec_engine.bld package.bld package.mak DEVICE="TI816X" PROGRAMS="APP_CLIENT DSP_SERVER APP_LOCAL" GPPOS="LINUX_GCC" ti.targets.C64P="" ti.targets.C674="" ti.targets.arm.elf.M3="" ti.targets.elf.C64P="" ti.targets.elf.C64T="" ti.targets.elf.C66="" ti.targets.elf.C674="/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/dsp-devkit/cgt6x_7_3_1" gnu.targets.arm.GCArmv5T="/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/linux-devkit;LONGNAME=/home/dm816x/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc;profiles.release.compileOpts.copts=-O2 -ffunction-sections" google.targets.arm.Bionic=";LONGNAME=;libcDir=;fsDir="
    Building 'ti.targets.elf.C674' using '/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/dsp-devkit/cgt6x_7_3_1' ...
    Building 'gnu.targets.arm.GCArmv5T' using '/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/linux-devkit' ...
    Configuring target.LONGNAME = /home/dm816x/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc
    Configuring target.profiles.release.compileOpts.copts = -O2 -ffunction-sections
    building for target (xdc.bld.ITarget.Module)ti.targets.elf.C674 ...
    platform: ti.platforms.evmTI816X
    app with local codecs.
    building for target (xdc.bld.ITarget.Module)gnu.targets.arm.GCArmv5T ...
    platform: ti.platforms.evmTI816X
    app with local codecs.
    app with remote codecs.
    js: "/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages/gnu/targets/ITarget.xs", line 346: Error: /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/linux-devkit//home/dm816x/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc cannot be found. Ensure that rootDir for the GCArmv5T target is set correctly in /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/codec_engine.bld
    gmake[1]: *** Deleting file `package.mak'
    gmake[1]: *** No rule to make target `package.mak', needed by `.interfaces'. Stop.
    gmake: *** [/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy,.interfaces] Error 2
    make: *** [all] Error 2
    dm816x@dm816x-desktop:~/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy$


    I've also read the products.make comment about GCC targets and I wonder what it means with the 'special' distinction.

    "# Note that GCC targets are 'special' and require more than one var to be set."

    Could you clarify this?

    Regards,
    gaston 

  • Janet,

    From the last console output I've deduced that CGT var should be set this way:

    CGTOOLS_V5T ?= ${HOME}/CodeSourcery/Sourcery_G++_Lite
    CC_V5T      ?= bin/arm-none-linux-gnueabi-gcc

    Therefore you can override my previous post.

    However compilation of CE universal_copy example fails again. Here's the console message and the error output for more details.

    5875.makeinfo.txt

    dm816x@dm816x-desktop:~/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy$ warning: xdc.runtime.System: "/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages/xdc/runtime/System.xs", line 303: xdc.runtime.System : System's gate may block the caller: ensure that all threads that can call an xdc.runtime method are capable of being blocked
    warning: xdc.runtime.System: "/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/xdctools_3_23_01_43/packages/xdc/runtime/System.xs", line 303: xdc.runtime.System : System's gate may block the caller: ensure that all threads that can call an xdc.runtime method are capable of being blocked
    package/cfg/bin/ti_platforms_evmTI816X/app_local/main_hlos_local.ov5T: In function `main':
    /home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy/main_hlos_local.c:152: undefined reference to `UNIVERSALCOPY_TI_IUNIVERSALCOPY'
    collect2: ld returned 1 exit status
    gmake[1]: *** [bin/ti_platforms_evmTI816X/app_local.xv5T] Error 1
    gmake: *** [/home/dm816x/ti-ezsdk_dm816x-evm_5_04_00_11/component-sources/codec_engine_3_22_01_06/examples/ti/sdo/ce/examples/apps/universal_copy,.executables] Error 2
    make: *** [all] Error 2

    Any idea about this issue?

    Regards,
    gaston

  • Gaston,

    It looks like the universal_copy codec library is not getting linked in.  Did you run 'make' from the top of the examples directory?  Could you verify that the directory

    examples/ti/xdais/dm/examples/universal_copy/lib

    exists and contains debug and release subdirectories?  These directories should each contain universal_copy.av5T libraries.

    Best regards,

        Janet

  • janet said:
    It looks like the universal_copy codec library is not getting linked in.  Did you run 'make' from the top of the examples directory?  Could you verify that the directory

    I've run the make from the top of the examples directory and it works well now. Janet, thank so much for your help.

    Regarding the building process described in codec_engine_XXX/examples/build_instructions.html

    "Each directory contains a GNU makefile which enables you to build the sample in the current directory. Top-level directories also contain a makefile which steps into subdirectories and builds all the examples under the parent directory."

    I suggest to add "Before performing the build in a single sample directory It is necessary to build the whole examples from the top of the examples directory" or something like that.

    Regards,
    gaston

  • Gaston,

    Thanks for the feedback.  We are re-working the Codec Engine examples so  that each example is self-contained.  That should avoid the problem you encountered.

    Best regards,

        Janet