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 "Build/Run Instructions for Codec Engine Examples"

I followed this link

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/latest_2_x/examples/build_instructions.html

to build Codec Engine examples.

all passed and complete. No error to be seen, but there is no /bin/ti_platform_* in all examples are produced after "make"

Don't know where to find executable files.

The source code I am using is DVSDK ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11

It is for omapl-138.

Anyone can help?

Thank you

Joe

 

  • Joe Z said:

    all passed and complete. No error to be seen, but there is no /bin/ti_platform_* in all examples are produced after "make"

    The example binaries won't be rooted at /bin (i.e., under the / dir), they will be in a bin/ti_platforms_<platform> directory beneath the directory containing the example's source code itself.

    Regards,

    - Rob

  • Thank you Rob.

    As mu understanding, it should be at auddec_copy(example)/bin/ti_platforms_*/, but I could not find. I attached the screenshot here, that is all what I have.

  • Joe,

    It sure looks like this particular example did not build at all.  Those "package" subdirectories would have some content in them if it had built.

    I don't know the DVSDK and its build procedure so I can't really comment about that.  Perhaps you could show me the build steps that were performed (along with the build output), and I can check to see *what* was built.

    For CE in general, the examples are a different build step than the one to build CE itself.

    If the examples did build, you could use a "big hammer" approach to finding them:
        % find / -name app_remote.xv5T -print
    which will search for all files named app_remote.xv5T from the very top of your filesystem (and might take a looooong time, but maybe not).

    Regards,

    - Rob

  • Hi Rob,

    According the linker (as my 1st post). The 1st step is to modify the xdcpath.mak. I attached here.

    The next three steps are:

    1. Build example codecs. see the attached make log files (codec make log.txt)

    2. Build example extensions. See make log file(externsion make log.txt)

    3. Build example DSP servers. See log file (dsp servers make log.txt)

    Above is the main steps. 

     

    Joe

    CE make log.7z
  • O, forgot include xdcpaths.mak. See attached

  • Joe Z said:

    According the linker (as my 1st post). The 1st step is to modify the xdcpath.mak. I attached here.

    The next three steps are:

    1. Build example codecs. see the attached make log files (codec make log.txt)

    2. Build example extensions. See make log file(externsion make log.txt)

    3. Build example DSP servers. See log file (dsp servers make log.txt)

    Above is the main steps.

    Hi Joe,

    It appears that you didn't perform the "4th" step of building the examples themselves.  From the link http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/latest_2_x/examples/build_instructions.html (same as in your first post) you should also do:

    6. Build the GPP applications

    Change directory to ti/sdo/ce/examples/apps (where the makefile is) and type

        gmake clean
        gmake

    Regards,

    - Rob

  • Hi Rob,

    ops, that was my mistake. Thank you for captured.

    But once I run the app, I have following error.

    root@arago:~/codec-engine# ./app_remote.xv5T
    @0x0002dcec:[T:0x400c3000] ZZ - main> Welcome to app's main().
    @0x0002f398:[T:0x400c3000] ZZ - App-> Application started.
    app: error: can't open engine audio_copy
    @0x000325f2:[T:0x400c3000] ZZ - app done.
    root@arago:~/codec-engine#

    The files are copied to target are 

    -rwxr-xr-x 1 root root 398222 Jan 13 2014 app_remote.xv5T
    -rw-r--r-- 1 root root 5976888 Jan 13 2014 cs.x674
    -r--r--r-- 1 root root 131072 Jan 13 2014 in.dat
    -r-xr--r-- 1 root root 2290 Jan 13 2014 loadmodules.sh
    -r-xr--r-- 1 root root 1751 Jan 13 2014 unloadmodules.sh

    What else I have missed? 

    Joe

  • Joe Z said:
    app: error: can't open engine audio_copy
    ...
    -rw-r--r-- 1 root root 5976888 Jan 13 2014 cs.x674

    The examples are configured to use an Engine contained in an executable file named "all.x674", and you are showing that you copied a file named "cs.x674" to your target.  It's possible to configure the Engine to open "cs.x674" but you would need to change the remote.cfg file to do so.

    If you have not changed remote.cfg, then you need to rename "cs.x674" to "all.x674" (its original name as produced by the example build files) on your target.

    If you have changed the remote.cfg to use cs.x674, then you're experiencing a different problem that we need to determine.  To get additional information regarding the problem in opening the Engine, you should set the environment variable CE_DEBUG=3:
        % CE_DEBUG=3 ./app_remote.xv5T
    and report back to this thread with the output (might be really big, but no worries, we have "grep" :) and you can attach a file instead of inlining the output).

    Regards,

    - Rob

  • Hi Rob,

    I didn't change the remote.cfg. Follow your instruction, but I don't see where to change to all.x674. Even I cannot find where it is cs.x674 in this cfg file. I search all.x674, and find it is in 

    examples/ti/sdo/ce/examples/servers/all_codecs/bin/ti_platforms_evmOMAPL138/all.x674

    But in any case you help me solve the problem, to build and run the examples. Thank you

    What is next step document to read in order to write app?

    Joe 

  • Joe Z said:
    Even I cannot find where it is cs.x674 in this cfg file

    The server executable name is defined in:
        examples/servers/all_codecs/package.bld
    with the lines:
        var serverName = "all";
        ...
                // name = bin/platform/name.x+suffix
                var name = "bin/" +
                        // replace all ':' and '.' with '_' in platform name
                        platform.replace(/\:/g, "_").replace(/\./g, "_") + '/' +
                        serverName;


                Pkg.addExecutable(name, targ, platform,
                    {
                        cfgScript: serverName + ".tcf",
                        cfgArgs: "{ platform: \"" + platform + "\" }",
                        lopts: "-l link.cmd",
                        rtsName: null
                    }
                ).addObjects(["main.c"]);

    The definition of the server executable that is opened by the host application is in:
        examples/apps/<app_dir>/remote.cfg
    where <app_dir> is image1_copy, universal_copy, etc.  The server name is defined in there with:
        var serverName = "bin/" +
            // replace all ':' and '.' with '_' in platform name
            platform.replace(/\:/g, "_").replace(/\./g, "_") +
            '/all.x' + remoteSuffix;
        ...
        var myEngine = Engine.createFromServer(
        "image1_copy",        // Engine name (as referred to in the C app)
        // path to server exe, relative to its package dir
        serverName,
        "ti.sdo.ce.examples.servers.all_codecs" // server package
    );

    These are separate definitions that need to stay in sync (in other words, be the same).

    Joe Z said:

    I search all.x674, and find it is in 

    examples/ti/sdo/ce/examples/servers/all_codecs/bin/ti_platforms_evmOMAPL138/all.x674

    This shows that the server name has not been changed from its product-defined value, which raises the question "how did the server name become cs.x674 in the target directory?".

    Joe Z said:

    What is next step document to read in order to write app?

    You could start here and follow additional links therein:
        http://processors.wiki.ti.com/index.php/Codec_Engine#Additional_Documents_and_Resources

    Regards,

    - Rob