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.

What env vars needed to build DSP Link on WindowsXP host for Arago Linux on DM6467T?

 

I've read all the doc I can find, including "C:\Program Files\Texas Instruments\dsplink_linux_1_64\dsplink\doc\UserGuide.pdf", and cannot find the answer.  I know I need to set four environmental variables, but I have no clue what values to use:

  • TI_TOOLS_BASE_DIR
  • XDC_INSTALL_DIR
  • CODEGEN_INSTALL_DIR
  • XDCTOOLS_DIR

Please note that I'm using WindowsXP for the host, and working on a DM6467T EVM that has an ARM+DSP and is running Arago Linux.

Everything on the host is installed under "C:\Program Files\Texas Instruments", such as:

  • C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.0.1
  • C:\Program Files\Texas Instruments\xdctools_3_16_02_32
  • C:\Program Files\Texas Instruments\dsplink_linux_1_64

My immediate Objective is to get to the point where under WindowsXP I can run "perl dsplink\config\bin\dsplinkcfg.pl" and it work successfully.

Thanks,

Helmut

 

  • Helmut,

    I forwarded your post to the DSPLink development team.

    Todd

  • Thanks very much, Todd.  Have a nice weekend.

  • Please note that my head has cleared a little bit since the biggest trials and tribulation.  Please note also that I'm using WindowsXP for the host, and working on a DM6467T EVM that has an ARM+DSP and is running Arago Linux.

    Here's how I now view the problem:

    dsplink_linux_1_64\dsplink\doc\UserGuide.pdf page 24 points out the distribution file for the DSP-side for the Davinci platform for [Arago] Linux [on target] is:

    • $(DSPLINK)/make/DspBios/c64xxp_5.xx_linux.mk

    This pdf also points out that for DSP-side distribution file, one must have defined:

    • BASE_INSTALL
    • BASE_SABIOS
    • BASE_CSL

    However, when one looks into the contents of c64xxp_5.xx_linux.mk, one finds that BASE_INSTALL is derivative, being defined from TI_TOOLS_BASE_DIR.  So one must instead worry about TI_TOOLS_BASE_DIR.  Similarly, BASE_SABIOS is derivative, being defined by BIOS_INSTALL_DIR.  Finally, BASE_CSL is derivative in a degenerative sense in that it's hard coded to empty.  (The pdf says BASE_CSL is only needed in particular cases.  The .mk file suggests that one should modify the .mk file to change this value from blank if needed.  But this is inconsistent with the overall configuration concept of setting environmental variables.  After realizing this and multiple readings, the pdf in section 9.1.1 now reads to me to say edit the .mk file rather than set the environmental variables to which it refers.  Notwithstanding this, my text below was written beforehand and I'm leaving the text below.)

    For these reasons, I found myself looking through c64xxp_5.xx_linux.mk to figure out what I really need defined, and I came up with:

    • TI_TOOLS_BASE_DIR
    • XDC_INSTALL_DIR
    • CODEGEN_INSTALL_DIR
    • XDCTOOLS_DIR

    I realize today that looking closer shows that BASE_INSTALL, and therefore indirectly TI_TOOLS_BASE_DIR, is only referenced when neither BIOS_INSTALL_DIR nor CODEGEN_INSTALL_DIR are defined.  Therefore, if the latter two are indeed defined, the former (TI_TOOLS_BASE_DIR) is unnecessary.  Having found this, I looked further and -- "glad it wasn't a snake" -- XDCTOOLS_DIR is in fact defined directly from XDC_INSTALL_DIR, so one doesn't need to define  XDCTOOLS_DIR.  

    Thus, one is only left with two environmental variables, which I've defined as follows:

    • XDC_INSTALL_DIR=C:\Program Files\Texas Instruments\xdctools_3_16_02_32
    • CODEGEN_INSTALL_DIR=C:\Program Files\Texas Instruments\C6000 Code Generation Tools 7.0.1

    Now, it seems that THIS is what needs to be defined in fact, totally contrary to what the pdf advises.

    ...Skip forward...

    Having set the above environmental variables first, I execute "C:\Program Files\Texas Instruments\dsplink_linux_1_64\dsplink\etc\host\scripts\msdos\dsplinkcfg --platform=DAVINCIHD --nodsp=1 --dspcfg_0=DM6467GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=DM6467LSP --comps=poslm --legacy=1" which executes
    "C:\Program Files\Texas Instruments\dsplink_linux_1_64\dsplink\config\bin\ddsplinkcfg.pl" with parameters.  Which gets all messed up because of the spaces in "C:\Program Files\Texas Instruments", which has been a Windows standard for more than a decade.  

    So, to avoid breaking other things, I *copy* many things from C:\Program Files\Texas Instruments\ to a new folder C:\ti-tools:

    • bios_5_41_02_14
    • C6000_Code_Generation_Tools_7_0_1 (note I also renamed from "C6000 Code Generation Tools 7.0.1")
    • dsplink_linux_1_64
    • xdais_6_25_01_08
    • xdctools_3_16_02_32

    Now run dsplinkcfg again and it FINALLY works.  I also do things per UserGuide.pdf section 9.4

    • cd c:\ti-tools\dsplink_linux_1_64\dsplink\dsp
    • c:\ti-tools\xdxtools_3_16_02_32\xdc clean
    • c:\ti-tools\xdxtools_3_16_02_32\xdc .interfaces

    And perhaps I've finally SUCCEEDED!

     

  • ?RESOLUTION?

    Hopefully I'm not jumping the gun here, but I believe I've finally built DSP Link.  Below is a recap

    1. When a script refers to an environmental variable, I tend to go define that environmental variable rather than edit and modify the script.  It seems that many of these tools expect you to edit the script instead.  During this development process, my preference has led me to having a menagerie of environmental variables, many pointing to the same thing but defined with different words, spellings, and underscores.
    2. This includes the DSP Link UserGuide.pdf which in section 9.1.1. speaks of modifying BASE_INSTALL and other variables.  Closer reading does indeed reveal that it wants the script modified, not the environmental variables to which it refers (which leads to a problem because these variables are not top-level variables in the script).
    3. dsplinkcfg.pl is definitely FLAWED because it can't handle spaces in folder names.  I had spaces in the "C:\Program Files\Texas Instruments" folder.  I was NOT the one who came up with this folder name.  The CCSv4 install did this.  And other instructions relating to CCSv4 had things such as the code generation tools put into this folder.  This is an internal inconsistency coming from TI.

    With the above generally recognized, perhaps four full days of flailing around have come to an end.

  • NOT RESOLVED.

    Now I'm still left with a different can't-find-it problem.

    Please see last two posts from me made on on 01-15-2011 11:48 AM and 01-15-2011 11:54 AM found at http://e2e.ti.com/support/embedded/f/355/p/87850/306819.aspx#306819

    Thanks VERY much,

    Helmut

  • Helmut

    I apologize for the time taken to build DSPLink.

    The DSPLink category at http://processors.wiki.ti.com/index.php/Category:DSPLink and specifically the build related page at http://processors.wiki.ti.com/index.php/Category:DSPLink would have provided you the details that you needed.

    The standard approach that we have is to modify the file for e.g. c64xxp_5.xx_windows.mk directly. For those who want to do scripting, we expose the environment variables. The problem that you encountered for the env variables is that some for e.g. XDCTOOLS_DIR point to a directory inside the BIOS folder. Please see an example usage of passing env variables at http://processors.wiki.ti.com/index.php/Building_DSPLink#Modifying_Makefiles_to_Setup_Build_Paths

    The issue regarding the build failure due to a space in the path is not a DSPLink build specific issue but rather a failure of the code gen tools to not build a file which has a space in the path. However this does point to a inconsistency in the install.

    I apologize once again for the time taken to build, I would encourage you to check if looking at the wiki page prior to the exercise would have enabled an easier path?

    I will also add a few FAQ's in the section http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_build_issues based on your feedback

    Deepali