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.

Please help connect codec dots

Other Parts Discussed in Thread: CCSTUDIO

I'm trying to run the GenCodecPkg wizard from CCSv4 under WindowsXP SP2 per http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#From_CCSv4 .

I downloaded Codec Engine 2.26.02.11.  I've set "Tool Discovery Path" (Window | Preferences | CCS | RTSC | Products) to "c:\Program Files\Texas Instruments\codec_engine_2_26_02_11".  The "Discovered Tools" list now includes an entry for "Codec Engine".  I now have a new "Tools | Codec Engine Tools | GenCodecPkg" menu item.  However, when I click on that menu option, nothing happens.  

Note I am trying this after freshly loading CCS, with no project open.  Please help me get started here.

Please note I've found http://processors.wiki.ti.com/index.php/Getting_started_with_IUNIVERSAL#Step_4:_Customizing_the_Code_to_Fit_Your_Algorithm as well.  But the first step is to launch the wizard, and I can't seem to do that.

Please note that my interest is in creating a customized video analytics codec.  For example, pass through video and replace red with green.  A US flag would look green, white, and blue.  I figure I can follow the iUniversal instructions, but work from the ividanalytics_copy example instead.

About ividanalytics_copy, I seem to have at least three copies.  Some copies include a CCSv3 project, which I've successfully imported into CCSv4.  But these don't have IVIDANALYTICS_COPY.xs or .xdc.  Others that do have these files, don't have the example project.  Also, I find one with the codec engine I just downloaded, in the folder tree under "sdo" and another under "xdais".  Why so many copies of the example?  With is right?  Is ANY ONE of them complete!!!???!!!  Arrgghh!  Speaking of "SDO", they tend to blow things up.  That's how I'm feeling right now about this!  (ref Caprica)

Thanks,

Helmut

  • Helmut Forren said:
    I downloaded Codec Engine 2.26.02.11.  I've set "Tool Discovery Path" (Window | Preferences | CCS | RTSC | Products) to "c:\Program Files\Texas Instruments\codec_engine_2_26_02_11".  The "Discovered Tools" list now includes an entry for "Codec Engine".  I now have a new "Tools | Codec Engine Tools | GenCodecPkg" menu item.  However, when I click on that menu option, nothing happens.  

    I've added a [likely critical] section to that article showing how to lauch from CCS Eclipse - namely this:

    Note: Be sure you enable Codec Engine by checking the appropriate version in (Window | Preferences | CCS | RTSC)! If you fail to pick a version and try to launch the wizard via the menu, in the best case you'll get a confusing dialog msg, and in the worst case absolutely nothing will happen!

    Helmut Forren said:
    About ividanalytics_copy, I seem to have at least three copies.  Some copies include a CCSv3 project, which I've successfully imported into CCSv4.  But these don't have IVIDANALYTICS_COPY.xs or .xdc.  Others that do have these files, don't have the example project.  Also, I find one with the codec engine I just downloaded, in the folder tree under "sdo" and another under "xdais".  Why so many copies of the example?  With is right?  Is ANY ONE of them complete!!!???!!!  Arrgghh!

    This is kinda described here - http://processors.wiki.ti.com/index.php/Codec_Engine_Examples#Physical_Layout.  Briefly, CE just 're-uses' the example algs which XDAIS provides.  The XDAIS examples (in ti/xdais/dm/examples/*) [correctly] don't know anything about CE.  The tiny, library-free CE examples (in ti/sdo/ce/examples/codecs/*) just provide the thin amount of packaging required to play nice with the config tooling (XDC) - e.g. VIDANALYTICS_COPY.xdc and VIDANALYTICS_COPY.xs files.

    Finally, b/c CE redistributes the XDAIS examples, if you've got both CE and XDAIS installed, you'll find the XDAIS examples (ti/xdais/dm/examples/*) in two places - $(XDAIS_INSTALL_DIR)/examples and $(CE_INSTALL_DIR)/examples.

    The products are trying to be [too?] smart and avoid duplication.

    Chris

     

  • Thanks.   Next, can you please point out those tar instructions I lost?  I'm sure I need to create a tar of the GenCodecPkg results in order to put it into the third party folder on the DM6467T EVM.  (((EDIT: In fact, I'd like to modify and recompile encodedecode, changing the codec selected in the source code.  Then I'd like to install my appropriately named codec on the evm.  Then when I run encodedecode, it will select my codec instead of the original.  I'll tweak the codec to change the pass through video in a minor way so I can recognize I successfully did everything.)))

    Also, if you don't mind, Chris, please note I've moved on to http://e2e.ti.com/support/embedded/f/355/p/87887/303780.aspx#303780 and am about to post a followup question over there...

    EDIT: Please note that I've confused myself about the third party folder on the DM6467T EVM.  That folder is for third party DEMOS, not CODECS.  Contents of this tar are described sufficiently in the evm's getting started guide (http://processors.wiki.ti.com/index.php/Putting_Demo_Applications_in_the_Third-Party_Menu).  So, I need to now figure out if I'm going to build a program that invokes CE yet, or if I want to install my test codec as an actual third party *codec*, in which case I still need the codec install instructions, which I believe includes tarring.

  • I really don't know what I'm doing, but I'm thinking along the lines that "I ran GenCodecPkg so I probably need to run GenServer next to include that codec package I just made in a new server, which I'll later figure out how to put on the EVM."

    With that in mind, I run GenServer and set the search path to include the folder below which my codec project exists (<omitted>\mycodecname\), including the package created by GenCodecPkg (<omitted>\mycodecname\mycompanyname).

    When I refresh the codec list, I get all the example codecs, but not mycodecname, which is different from the other codecs. (I took an existing example and changed all occurrences in all files from "vidanalytics_copy" to "mycodecname".  It compiled successfully.  GenCodecPkg seemed to recognize it as mycodecname.  So I really ought to see mycodecname in the refreshed list.)

    When I change the search path to include ONLY my folder (<omitted>\mycodecname\), GenServer says it can't find any codecs.

    Please help.

    Thanks,

    Helmut

  • You'll need to _build_ the GenCodecPkg-generated package.  The steps describing this are on the FAQ:

    http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#After_the_Wizard

    The act of building that package - whether by makefile, CCS, whatever you like, will generate a .zip file.  (The latest GenCodecPkg-generated build scripts create a .zip these days rather than .tar.)  That .zip file can be extracted "somewhere", and that "somewhere" is what you want to point GenServer at.

    Chris

  • Thanks very much.  I admit I should have noticed and read "After the Wizard".

    WORKED.  THANKS!

    NEXT PROBLEM:  I generally have a big problem with environmental variables and knowing what's what and where is it!  This time, GenServer is complaining in the top left corner that the Search Path must include a path for "DSP Link" and "DSP/BIOS 5.x".  I know neither what nor where those are.  I did try adding "C:\Program Files\Texas Instruments\bios_6_21_00_13" to the search path, but this didn't help.  note I also have a "C:\Program Files\Texas Instruments\bios_5_41_02_14", but I didn't add this.  Perhaps my addition helped, but I'm still missing the "DSP Link" part.

    EDIT: I notice on the actual window for adding the search path, that it likes bios_5_41_02_14, not bios_6_21_00_13.  With bios_5_41_02_14, it only complains about missing "DSP Link".  I just need to find "DSP Link"...


    EDIT: Per http://processors.wiki.ti.com/index.php/Building_DSPLink#How_do_I_install_DSPLink.3F, the folder name for DSP Link fits format dsplink_#_##_##.  I have no such creature.  <vent>Must be yet another of the myriad little individual pieces that don't seem to come in a package together, that I need to download.</vent>  I'll try downloading it from http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/index.html .  In HINDSIGHT, I find http://processors.wiki.ti.com/index.php/Codec_Engine_GenServer_Wizard_FAQ says "Beginning with CE 2.24, DSP Link was removed from cetools and must be added explicitly."  From http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/1_65/1_65_00_03/index_FDS.html, note that since I'm running CCSv4 on WindowsXP, I chose the second option, described as "This BSD licensed package is suitable for usage with non-Linux OSes and for porting to a different OS."

    P.S. I believe the new unzip location ("somewhere") of the zip contains a subset of the same stuff as my project folder.  Therefore, when GenServer is told to search "somewhere", it should find nothing more than it found when I told it to search my project folder.  Nevertheless, GenServer likes "somewhere" more than my project folder.  It's either the hard-coded tree structure or something else.  Dunno.  Dontcare.

  • Ultimately, you'll need those dependencies (DSP Link, BIOS, and more).  Are you a DVSDK user?  If so, the DVSDK provides those, and the GenServer-generated makefiles are "DVSDK-friendly" in that they understand and can utilize the DVSDK's Rules.make makefile to find these dependency locations.

    If you're not a DVSDK user, we can point you at the download location for all that other stuff and go down that path.  Let us know.

    Chris

  • Thanks, I am a DVSDK user.  But then, I'm spread all over the map...   I have Ubuntu/VMware/WindowsXP running to do some of these things, and the DVSDK is actually installed there.  I searched it for dsplink_#... and it did NOT come with it.  Meanwhile, I have CCSv4 on a different WindowsXP machine, due to MAC licensing issues.  So I've been doing some stuff on Ubuntu and some on CCSv4.

    I'm currently copying the downloaded dsplink_# stuff to the CCSv4 machine and I'll retry the search (EDIT: Just finished).  It's slow to copy.  I'll also inspect further the dependencies list at http://processors.wiki.ti.com/index.php/Codec_Engine_GenServer_Wizard_FAQ#How_do_I_install_and_run_the_Wizard.3F

    Quote:

    • Step 2: Add the following to your XDCPATH:
      • $(CE_INSTALL_DIR)/packages DUNNO 'BOUT THIS, is XDCPATH an environmental variable or set inside CCSv4?
    These may optionally be added later when the wizard is running by selecting the “Set Search Path” button and adding them to the list.
    • $(CODEC_INSTALL_DIR)/packages - this may be one or more repositories, wherever you have codecs you want to add to the Server  YEP
    • $(CE_INSTALL_DIR)/cetools/packages or $(XDAIS_INSTALL_DIR)/packages and $(FC_INSTALL_DIR)/packages ME THINKS YEP, OTHER CODECS FOUND
    • $(BIOS_INSTALL_DIR)/packages  YEP
    • $(LINK_INSTALL_DIR) - Beginning with CE 2.24, DSP Link was removed from cetools and must be added explicitly.  UPCOMING

    WORKED - insofar as I'm past the errors and onto the next step for GenServer.

    Chris, thanks very much for holding my hand a little on this one.  Your attention is greatly appreciated.  Probably saved me days (I've been taking days for every tiny step forward, so this is a case of days saved).

  • I think I have an issue with DSP Link.  I simply copied it to my machine from dsplink_1_65_00_03.tar.gz (unzipped, of course, then deleted doc folder for size).  I got past the GenServer complaint.  I then recognized that GenServer created a project.  Why, then, I believe I'll build that project!  Failed.  Complained about "js: "C:/Program Files/Texas Instruments/codec_engine_2_26_02_11/packages/ti/sdo/ce/ipc/bios/package.xs", line 141: xdc.services.global.XDCException: XDCException: xdc.PACKAGE_NOT_FOUND: C:\Program Files\Texas Instruments\dsplink_1_65_00_03\dsplink\dsp\package.xdc found along the package path, but no schema file was found.  Ensure that the package 'dsplink.dsp' is completely built." (Emphasis Added).

    This makes me think I didn't install dsplink correctly.  Advice?

    EDIT: Noticed dsplink 1.65 not release version.  Tried dsplink 1.64.  Same problem

  • Right, that error msg is spot on.  You have to build DSP Link before you can use it.

    I'm going to ask you to dig into your DVSDK getting started guide which hopefully(!) describes how to build DSP Link.  I'm not that familiar with the DVSDK build flow, but I think DSP Link is typically built on a Linux box as this section from the OMAP3 DVSDK describes:

    http://processors.wiki.ti.com/index.php/GSG:_OMAP35x_DVEVM_Software_Setup#Rebuilding_the_DVSDK_software_for_the_target

    Also, the following article describes how to build DSP Link... although as a DVSDK user, I'd look first at the DVSDK docs in case they prefer you build in a certain way on a certain host OS.

    http://processors.wiki.ti.com/index.php/Building_DSPLink

    Once DSP Link is built, you should be able to point your DSP Server build at that built DSP Link and get past the "dsplink.dsp is completely built".

    [ Getting DSP Link built against your Linux kernel will be a necessary step for ultimately running the Server you're trying to build... so while it's tiresome to jump through all these hoops, it's not throwaway work.  :) ]

    Hang in there, you're getting close.

    Chris

  • Thanks, Chris, but I only get a tenth step forward on this.

    http://processors.wiki.ti.com/index.php/GSG:_DVEVM_Software_Setup_for_DM6467_Platforms#Building_the_DVSDK_Software_for_the_Target says to run "make dsplink_arm", which I did.  It finishes by saying I can find dsplinkk.ko in /home/helmutforren/dvsdk/dvsdk_3_10_00_11/kernel_binaries/dm6467.  Yep, it's there.  But this is on my Ubuntu/VMware/WindowsXP machine.  I need it on my CSS-MAC-constrainted/WindowsXP machine.  You say to "point your DSP Server build at that build DSP Link".  But neither of these nouns have meaning for me.  I'm trying to run GenServer, which I thought made a Codec Server.  I'll have to assume you just expressed it in a different way, and that when you say "DSP Server" you mean the GenServer program.  MORE IMPORTANTLY, I don't know what "that build DSP Link" is.  Is it simply the file dsplinkk.ko?  Am I supposed to put that under C:\Program Files\Texas Instruments somewhere on CSS-MAC-constrainted/WindowsXP, and then point GenServer to it?  I don't know.

    This all implies a broader question.  "What is DSP Link (in terms of files, not function)?"  I gather from your second link in your post above, that DSP link has both a GPP and DSP side.  I understand it relates to communication between the GPP (ARM) and DSP.  But what form do the files take.  We speak of downloading "DSP Link" when we should perhaps really talk about downloading the "Source to DSP Link".  We speak of building it.  But now what is the result of the build?  Is it just this one .ko file?  Or is it more.  Do I need to compile it twice, to make one for both GPP and DSP.  And relating directly to this thread, how do I prepare for GenServer run from CCSv4 on WindowsXP, and how do I inform GenServer.  

    I apologize for perhaps seeming so dense on this.  I actually am a pretty smart guy, with decades of experience, but all this stuff is still so foreign and most importantly fragmented.  I've still never seen a single picture outlining it all.  That would be great, you know.  Something to put all this mess into some kind of context.  And I mean "picture", diagram, illustration.  Many people learn and think best in terms of words, while many others learn and think best in terms of images.  It's images for me.  This makes my graphical and data analysis skills superb.  But perhaps it slows me down digging through the literally hundreds of disjoint wiki entries and posts merely to get one conceptually simple objective accomplished:  Modify the example codec and get it running on the EVM, from empty office/lab to finished.  It only takes a few seconds to say it, but I've logged about 90 hours so far...  (EDIT: accidentally included backburner task.  Actually 54 hours over 2 weeks as of today.  But had to get off this primary job repeatedly to let ideas soak in and wait for forum replies, must of which never came, but yours, Chris, are dearly appreciated.)

    Thanks very much,

    Helmut

    P.S. Do note that I had indeed already gone through the link above.  I even put in comments below on the wiki.  See comment #4 about the inconsistent language in the wiki.  Perhaps, as I've notice elsewhere, the words "above" and "below" are confused, perhaps because the quoted text got spliced into the narrative text in the wrong place, all shifted up or down one.

     

  • Helmet,

    I thought I'd share my methodology on codec development.

    On windows PC

    - build the DSP codec on in CCS.

    - run the gencodecpkg wizard (I actually use command line rather than CCS) to generate the codec repository

    - execute the Makefile in codec repository (ie run gmake) to generate the tar file.

     

    On Linux PC with DVSDK x.yy installed (as DVSDK is installed and build there all the components like dsplink etc are already there and built)

    - extract the tar file to the codecs directory

    - modify the codecs.cfg file in server directory to add your new codec

    - modify application executable (eg encodedecode) to include new codec (via .cfg file) and change API to codec if required.

    Look at section 5 from http://processors.wiki.ti.com/index.php/C64x%2B_iUniversal_Codec_Creation_-_from_memcpy_to_Canny_Edge_Detector which integrates a codec into the DM6467 2.00 DVSDK (the previous codec generation sections are on older tools so the instructions are different and you also only have 1 tar file).

     

    Iain 

  • Iain,

    Thanks very much for this suggestion.  I have been considering vaguely similar methods.  I'll scrutinize the link you provided.  Just in case it doesn't solve the following problem specifically, however, I'll go ahead and toss the problem out so that you or others might have time to reply.

    My specific problem right now is with your third bullet (-) point, "...to generate the tar file.  At least, I think that's where I am.  I successfully used CCS to run GenCodecPkg.  I have next been trying to run GenServer from CCS.  I actually don't even know if that's the correct thing to do, as the doc is voluminous, incomplete, and muddy.  I'm thinking your third bullet (-) point corresponds to my running GenServer.  

    If this is indeed the case, can you do one of two things for me please.  Detail how you execute the Makefile in codec repository (ie run gmake) to generate the tar file, or else point to the content of your link that explains this.  (Remember, I haven't had a chance yet to read the link.  I'm just sending this post "out there" in advance just in case.)

    Thanks very much,

    Helmut

  • Helmut,

    Here are the instructions I use to generate the codec package (.tar) with some comments in italics to provide some pointers

     

    Using DVSDK 1.0.0.11 to build DSP code.

    This contains \xdais_6_25_01_08 and codec_engine_2_25_00_05.

    You may be using the xdais and codec_engine releases in DVSDK 3.10 which you can use inplace of this one. Same for your XDC version.

    Package the codec with a wizard

     

    Open command shell in C:\Program Files\Texas Instruments\xdctools_3_20_06_81>

     

    >set XDCPATH=C:\Program Files\Texas Instruments\xdctools_3_20_06_81;C:\C6748_dsp_1_00_00_11\ce_utils1_07\packages;C:\C6748_dsp_1_00_00_11\codec_engine_2_25_00_05\packages;

    >xs ti.sdo.ce.wizards.gencodecpkg

     

    -         Select radio button “Create a CE-Compatible Codec Package from an existing XDAIS library file”

    -         Click “Set XDAIS Install Dir” and enter path C:\C6748_dsp_1_00_00_11\xdais_6_25_01_08

    -         Click “Next”

     

    An Open a Library File window opens, browse to C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\universal_copy\Debug\universal_copy.a674P

     

    The wizard then moves to a “Create a Codec Package from an XDM Algorithm Library” form.

     

    Enter “My alg’s CE Package Name” as ti.fae.codecs.universal_copy.ce

    Select “Base Interface” as IUNIVERSAL

    Click on “Set Output Repository” and browse to C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\codec_packages

     

    Leave Generate CCS v4 project ticked

    Click  Finish

     

     

     

     

     

    Next stage is to configure and then create the distributable codec package

     

    Manually copy the header files (universal_copy_ti.h and universal_copy_ti_priv.h) that need to be shipped with the codec from the source directory  C:\C6748_dvsdk_1_00_00_11_universal_codecs_source\dsp_alg\universal_copy

    To the codec packaging directory

    C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\codec_packages\ti\fae\codecs\universal_copy.ce

     

    (This appears to be a stage wizard does not handle)

     

     

    Now edit the package.bld file in the codec packaging directory to add following lines which will add the headers to the package

     

    /* Add the other header files to be exported with the library */

    Pkg.otherFiles.$add("universal_copy_ti.h");

    Pkg.otherFiles.$add("universal_copy_ti_priv.h");

      

     

    Finally create the release package by running the makefile created by the wizard

    Open command shell in C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\codec_packages\ti\fae\codecs\universal_copy.ce>

     

    > gmake

    This generates the .tar file.

     

     

     

  • Iain,

    Thanks...

    (((FYI, tired of running 15 feet back and forth.  Now MachineA accessing MachineB through windows Remote Desktop!)))

    Note mine is xdctools_3_16_02_32, which is older than your example.

    Note I had XDCROOT set, but not XDCPATH.  More alphabet soup, as I mentioned in a different post.  SO, I'll set XDCPATH, too.  I see it's actually three values with semicolons.  I definitely did NOT have any env vars set to such.  It's a mouthful.  Doing some cutting and pasting to make a batchfile.  I end up with:

    set XDCPATH=C:\Program Files\Texas Instruments\xdctools_3_16_02_32;C:\C6748_dsp_1_00_00_11\ce_utils1_07\packages;C:\Program Files\Texas Instruments\codec_engine_2_26_02_11\packages;

    Note I do NOT have a ce_utils anything.

    Just realized this is for your section "Package the codec with a Wizard".  I already ran GenCodecPkg successfully, I believe.  So I'm TENTATIVELY skipping this section.

    Now I'm stuck.  I don't have C6748 anything, and I don't know how to translate C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4, especially the "universal_codecs_ccsv4" part, into anything I have.

    The fact of the matter is that I'm in configuration h*ll.  How about we step back to there...

    Plus these environmental variables:

    ALLUSERSPROFILE=C:\Documents and Settings\All Users

    APPDATA=C:\Documents and Settings\Helmut Forren\Application Data

    BIOS_INSTALL_DIR=C:\CCStudio_v3.3\bios_5_33_06

    CCSV4_PHOTON_INSTALL_DIR=C:\Program Files\Texas Instruments\ccsv4/simulation/bin/components/photon

    CG_TOOL_ROOT=C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.0.1

    CHESSROOT=C:\Program Files\Texas Instruments\ccsv4/simulation_csp_omap4/bin/configurations/licenses/

    CommonProgramFiles=C:\Program Files\Common Files

    COMPUTERNAME=ADAMS

    ComSpec=C:\WINDOWS\system32\cmd.exe

    DSPLINK=C:\Program Files\Texas Instruments\dsplink_1_64\dsplink

    FP_NO_HOST_CHECK=NO

    HOMEDRIVE=C:

    HOMEPATH=\Documents and Settings\Helmut Forren

    LINK_INSTALL_DIR=C:\Program Files\Texas Instruments\dsplink_1_64

    LOGONSERVER=\\ADAMS

    NUMBER_OF_PROCESSORS=1

    OS=Windows_NT

    Path=C:/Program Files/Texas Instruments/xdctools_3_16_02_32;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microchip\MPLAB C32 Suite\bin;C:\Program Files\Microchip\MPLAB IDE\VDI;C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin;C:/Program Files/Texas Instruments/xdctools_3_16_02_32

    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

    PROCESSOR_ARCHITECTURE=x86

    PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel

    PROCESSOR_LEVEL=15

    PROCESSOR_REVISION=0209

    ProgramFiles=C:\Program Files

    PROMPT=$P$G

    SESSIONNAME=Console

    SystemDrive=C:

    SystemRoot=C:\WINDOWS

    TEMP=C:\DOCUME~1\HELMUT~1\LOCALS~1\Temp

    TI_CCS_SIM=C:\Program Files\Texas Instruments\ccsv4/simulation_csp_omap4/env/ccs/drivers/

    TI_DIR=C:\Program Files\Texas Instruments\ccsv4

    TI_SIM_DIR=C:\Program Files\Texas Instruments\ccsv4/simulation_csp_omap4/bin/configurations/

    TMP=C:\DOCUME~1\HELMUT~1\LOCALS~1\Temp

    USERDOMAIN=ADAMS

    USERNAME=Helmut Forren

    USERPROFILE=C:\Documents and Settings\Helmut Forren

    VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\

    windir=C:\WINDOWS

    XDAIS_CG_ROOT=C:\Program Files\Texas Instruments\xdais_6_25_01_08

    XDAIS_INSTALL_DIR=C:\Program Files\Texas Instruments\xdais_6_25_01_08

    XDCROOT=C:/Program Files/Texas Instruments/xdctools_3_16_02_32

    XDC_INSTALL_DIR=C:\Program Files\Texas Instruments\xdctools_3_16_02_32

  • Helmet,

    Here is my file structure that hopefully will make my instructions clearer

     

    The purpose of the main DVSDK directory is to provide the DSP codec source with the xdais package for #include <ti/xdais/dm/iuniversal.h>  and then to provide the gencodecpkg wizard with codec engine and xdais paths. I use the C6748 DVSDK as that is a convenient software release to build and test c647x floating point DSP code in. In your case if you are building a codec for DM6467 you could just as easily use the paths for these components in DVSDK 3.10. 

    You don't need CE_UTILS path or component, I should have removed that from my notes.

    The purpose of the the gencodecpkg wizard is to pick up the library you point it to and then with Codec engine and xdais components generate a codec package in a separate directory (called codec repository or codec package directory in my picture). The base directory of the repository in my example is C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\codec_packages. The rest of the path name is then defined by the name of the codec which in this case is ti.fae.codecs.universal_copy.ce. As far as I am aware the only env variables needed by wizard is XDCPATH and it needs XDC and Codec Engine package directories (You can also pass these in on command line with --xdcpath option as shown in http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#Creating_a_simple_makefile_to_invoke_the_wizard). This is stage 1.

    Stage 2 is to generate a single tar file for the codec that can easily be distributed. This is done by going to the root directory of the packaged codec (ie C:\c6748_dvsdk_1_00_00_11_universal_codecs_ccsv4\dsp_alg\codec_packages\ti\fae\codecs\universal_copy\ce) and running gmake to execute the Makefile generated by the wizard.

    Now you have your tar file you can extract it in the codec_x_yy/packages directory of DVSDK 3.10 for DM6467.

    Iain

  • Iain,

    I think I have the above OK in my own way.

    Please note I believe I was able to finally finish building DSP Link.  However, I'm still getting an error in CSSv4 building my server "mycompany.mygroup.servers.servercom"

    The build ends with error:

    Build Error - line breaks added for readability said:

    js: "C:/ti-tools/codec_engine_2_26_02_11/packages/ti/sdo/ce/ipc/bios/package.xs", 

    line 141: xdc.services.global.XDCException: XDCException: xdc.PACKAGE_NOT_FOUND: 
    can't locate the package 'dsplink.dsp' along the path: 
    'C:/ti-tools/xdctools_3_16_02_32/packages;
    C:/ti-tools/codec_engine_2_26_02_11/packages;
    C:/ti-tools/bios_5_41_02_14/packages;
    C:/ti-tools/dsplink_linux_1_64/dsplink/dsp;
    C:/ti-tools/dsplink_linux_1_64/dsplink/dsp/export/BIN/DspBios/DAVINCIHD/DM6467GEM_0/RELEASE;
    C:/ti-tools/xdais_6_25_01_08/packages;
    C:/ti-tools/codec_engine_2_26_02_11/cetools/packages;
    P:/Doc/MTEQ/Skin/Codecs/packages;
    C:/ti-tools/xdctools_3_16_02_32/packages;
    C:/ti-tools/codec_engine_2_26_02_11/packages;
    C:/ti-tools/codec_engine_2_26_02_11/cetools/packages;
    C:/ti-tools/xdais_6_25_01_08/examples;
    C:/ti-tools/codec_engine_2_26_02_11/examples;
    C:/ti-tools/xdais_6_25_01_08/packages;
    C:/ti-tools/xdctools_3_16_02_32/packages;
    ../../../..;'. 
    Ensure that the package path is set correctly.

    I think my problem is around "C:/ti-tools/dsplink_linux_1_64/dsplink/dsp" with which I recently tried pointing directly to the folder containing dsplink.lib (not dsplink.dsp).  I added it as “LINK_INSTALL_DIR=C:\ti-tools\dsplink_linux_1_64\dsplink\dsp;C:\ti-tools\dsplink_linux_1_64\dsplink\dsp\export\BIN\DspBios\DAVINCIHD\DM6467GEM_0\RELEASE” to the makefile in the project "mycompany.mygroup.servers.servercom".

    Note the embedded semicolon to provide two paths.  I don't think this double path provision is the problem.  I think the problem is I just don't know where to point.  I hope that I successfully build dsplink earlier.

    Can you please look at the folder tree below my signature, and see if it appears I build dsplink successfully?  If the right folders seem to be there, I can later confirm contents of those specifically.  Then I need to know where to set what in order to point at it (which I believe is to set LINK_INSTALL_DIR in makefile in "mycompany.mygroup.servers.servercom" project while editing project files with CCSv4).

    Thanks,

    Helmut

     

  • Oh yes, and note with my build of dsp link, referencing dsplink_linux_1_64\dsplink\doc\UserGuide.pdf, I got THROUGH the point of section "10.2.2 DSP-side build" subsection "Build the sources".  Remember, I'm using a Windows XP host.  I didn't build the samples.  

    I also did indeed do section "9.4 Additional steps for XDCtools-based configuraiton users" for the dsp side.  That is, I did the "xdc clean" and "xdc .interfaces".  The doc says "These two steps prepare the dsplink.dsp and dsplink.gpp XDC packages for consumption by the XDC config tooling."

    Having done only the dsp xdc commands, I assume I should have a dsplink.dsp package somewhere.  But my CCSv4  "mycompany.mygroup.servers.servercom" project build can't seem to find it.

    Thanks again,

    Helmut

  • FYI, I believe one problem I have is that "package" is too darn vague for me to understand.  I suspect it also means different things in different contexts.  So I can never be sure if I have a package or not!  (If you go about defining package for me, please also do so in direct example context of my folder tree in an earlier post on this thread.  Thanks.)

  • Helmut Forren said:
    I think my problem is around "C:/ti-tools/dsplink_linux_1_64/dsplink/dsp" with which I recently tried pointing directly to the folder containing dsplink.lib (not dsplink.dsp).  I added it as “LINK_INSTALL_DIR=C:\ti-tools\dsplink_linux_1_64\dsplink\dsp;C:\ti-tools\dsplink_linux_1_64\dsplink\dsp\export\BIN\DspBios\DAVINCIHD\DM6467GEM_0\RELEASE” to the makefile in the project "mycompany.mygroup.servers.servercom".

    XDC packages have similar conventions as Java packages, if you're familiar with those.  Namely, a package named 'dsplink.dsp' must be in a directory structure 'dsplink/dsp'.  The base directory where packages are installed is sometimes called a repository.  Repositories are placed on the XDCPATH.

    The RTSC/XDC Glossary has more details than you want on this... here's the link in case you're having trouble sleeping:

    http://rtsc.eclipse.org/docs-tip/Glossary

    All that said, you want "C:/ti-tools/dsplink_linux_1_64" on your XDCPATH; the build tools should then find the 'dsplink.dsp' package there.  (You had XDCPATH set right a few days ago - an earlier error msg was that 'dsplink.dsp' was found, but some "package schema file" wasn't found... implying dsplink.dsp wasn't built yet... and that's how we started off.)

    Likely you need to set LINK_INSTALL_DIR to "C:/ti-tools/dsplink_linux_1_64" in your GenServer-generated makefile.

    Chris

  • I've made two assumptions about your system and current status.

    1. you have built a codec and generated the .tar file

    2. You are building for a DM6467 and so have the DVSDK 3.10 installed on a linux machine.

    Assuming this is true the DVSDK has all the components you need such as dsp/link. So there is no need to build anything separately as you appear to be trying to do.

    Just go to DVSDK directory, ensure Rules.mak has correct paths and then type "make".

    This will build all components and a standard DSP codec server. All you need to do is:

    1.  extract codec tar in codecs_x_yy/packages directory

    2. edit codecs.cfg in the server directory to add codec

    3 do make codecs.

    Iain

  • Notes and responses:

    Thank you, Chris I Iain.

    - Chris, I was coming to figure "package" was a generic term referring to a folder structure and contents.  I see specific xdc use of "package" in the glossary, thanks.

    - Chris, I had to reread a couple times, but then saw the light along with having seen dot-to-slash conversions before.  That is, package "dsplink.dsp" does NOT mean a file or folder by that name, but instead means a folder sub-tree of "dsplink/dsp" (in DOS "dsplink\dsp").  You said this in fact.  You wrote, "a package named 'dsplink.dsp' must be in a directory structure 'dsplink/dsp'".  I clarify for other confused readers, "[when one says] a package named 'dsplink.dsp' [one means] a directory structure 'dsplink/dsp', [not a single file or folder named 'dsplink.dsp']".

    - Chris, indeed it appears my XDCPATH environmental variable has disappeared.  I have XDC_INSTALL_DIR and XDCROOT, and I'll add again XDCPATH to point to... oops, the first two vars here point to c:\ti-tools\xdctolls_3_16_02_32 while the third, XDCPATH needs to point to c:\ti-tools\dsplink_linux_1_64\dsplink as you said. (This goes back to the menagerie of env vars, including dups, vs changing the makefile contents.)

    - Chris, confusion over meaning of "a package dsplink.dsp" had me going to far in my LINK_INSTALL_DIR assignment in the makefile in mycompany.mygroup.servsers.server.com.  I needed to back off to LINK_INSTALL_DIR=C:\ti-tools\dsplink_linux_1_64 as you said, where the folder tree then picks up with "dsplink\dsp" to satisfy the "dsplink.dsp" requirement.

    - Chris, build still fails, missing something.  Please see new thread: http://e2e.ti.com/support/embedded/f/355/p/88831/307408.aspx#307408

    - Iain, I like what you say in "there is no need".  I want to follow up on your suggestions in this thread.  I have WindowsXP and Ubuntu setups for DVSDK3.10.  The majority of this thread has been addressing WindowsXP, where I compiled the codec and where I may eventually want to run CCSv4 to debug the codec.  HOWEVER, I have no objection to moving back and forth.  Given your statement, I'll copy my codec .tar file over to Ubuntu and do the "make codecs".  Note I've done the general "make" there in the past.

    - Iain, On my Ubuntu/WMware/WindowsXP(machineB) maching, please note I find 29 folders called containing "codecs" in the name, but none fitting a pattern like "codecs_x_yy".  This makes me step back...

    - Where "~" means /home/helmutforren, I find Rules.mak in ~/dvsdk/dvsdk_3_10_00_11.  I've run the make from here before.  I run it again just in case I did a clean in the past that deleted a codecs_x_yy folder.  This "sudo make" (I find sudo required), however gets up to "Building decode", when it gets an error "...dsplink/gpp/package.xdc found along the package path, but no schema file was found.  Ensure that the package 'dsplink.gpp' is completely built."

    - I have been recently trying to build the dsplink.dsp thingy (technical term) on Ubuntu.  Perhaps I clobbered it.  I'm going to rename to save, then reinstall the dvsdk and go looking for "codecs_x_yy" name pattern again.

    - Iain, please look back to this thread for me when I post to it again later (today).

  • Iain,

    I hope you're not, but is it possible that you are mistaken about "there is no need to build anything separately as you appear to be trying to do"?  I reinstalled the dvsdk and immediately I find a couple problems:

    • Right off the bat, there is no "codecs_x_yy" folder that I can find.  
    • The "/home/helmutforren/dvsdk/dvsdk_3_10_00_11/dsklink_linux_1_64" folder is present, as well as "dsplink/dsp" from there.  However, further down the "export" folder is empty.  (Well, perhaps it doesn't have to be there if you're not building a codec server from scratch.)
    • When I run "sudo make" from folder "/home/helmutforren/dvsdk/dvsdk_3_10_00_11", it complains that 

    WARNING: /home/helmutforren/dvsdk/dvsdk_3_10_00_11/dsplink_linux_1_64/packages doesn't exist, check your Rules.make.
    WARNING: /docs doesn't exist, check your Rules.make..

    Please advise.  Thanks very much.  -Helmut

    Please note that there were also a number of other problems right out of the box.  I'm not asking you to address them here, I'm just noting this for other readers.

    • "cgt6x_6_1_12" folder is missing from the dvsdk, so I linked to it from the backup of my prior attempts.  I forget where I got it in the beginning.  Permissions problem trying to copy.
    • "cs2dm6467_1_00_00_3" folder is missing from the dvsdk, so I copied it from the backup of my prior attempts.  I forget where I got it in the beginning.
    • "git" and "linuxlibs_2009.11-armv5te" were previously existing parallel to dvsdk_3_10_00_11 in /home/helmutforren/dvsdk.  Just made new links to prior attempt.  Don't remember how I got them, though.
    • edited Rules.make to refer to LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../linuxlibs-2009.11-armv5te
  • OOps.  This one isn't quite resolved yet.  Still looking for codecs_xx_y

  • Oh, thanks again Iain.  I'm coming back at this point to mention that I believe you are indeed CORRECT IN GENERAL that I shouldn't have to build anything to do what I needed...  This is assuming, of course, the first "make" got done and ran all the way through, which was not the case for me.

  • Helmet,

    I was perhaps a bit loose with the details on downloading the DVSDK. I had assumed you had started from there. So for the record,

    - You download the DVSDK from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/latest/index_FDS.html

    - Inside the release notes it tells you than in addition to the DVSDK file you need to download the code generation tools for ARM and DSP and the codecs package for your device. We had to ship these as separate packages for licensing reasons. 

    - Then follow instructions in Getting Started Guide for DM6467T (link from download page) but also at http://processors.wiki.ti.com/index.php?title=DM6467_Getting_Started_Guide to do the install and full build of DVSDK.

    Iain

     

     

  • Iain,

    Please note, just in case it wasn't clear, I was sincere about thanking you.  You caused me to go back to the beginning and try the original makefile, albeit with a parameter.  Also, please be aware that I did do all those things above, but they didn't work completely.  Some time I may have time to doc what failed on the original make.

    -Helmut