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 syslink for c6678

Other Parts Discussed in Thread: TMS320C6678

Hi,

I would like to ask for help.

I'm little bit confused how to build syslink for evmc6678. I'm not even sure if it's supported for tms320c6678 DSP. I downloaded latest version of syslink (ver. 2.21.0.3) and followed install guide, but during products.mak configuration I didn't found my DSP in list of supported DSPs.

I also found syslink as part of c6x linux (it seemed to be the part), there are targets for syslink in top level Makefile. But during building of syslink target there occurs this problem:

......

/kobjs/evmc6678.el/include/config/kernel.release`.bin
Setup IPC package before build
make[3]: *** [one-one-syslink-sanity] Error 1
Build of one-one-syslink-kernel for evmc6678 Failed
make[2]: *** [check-one-one-syslink-kernel] Error 2
make[1]: *** [one-syslink-kernel] Error 2
make: *** [syslink-kernel] Error 2

I didn't find any place where to configure anything related to syslink or ipc. There is second strange thing that there are no src files (I mean *.c *.h)
 with syslink code. I found only some shell scripts situated in ...linux-c6x-project/scripts/syslink/ directory.

I appreciate any ideas and help.

Best regards Ondrej

  • Hi,, Ondrej,

    Please take a look at the linux-c6x 2.0 Release Notes, http://linux-c6x.org/wiki/index.php/Linux-c6x_2.0_Release, to see what other components are needed. The "Configuration" section of the release notes will be helpful. You can also look inside the setenv file which is documented well to explain the build options. The "Syslink for c6x" page under linux-c6x "Software Ecosystem Features" provides further info on Syslink on C6678 and how to run the syslink demo on c6678.

    Rex

  • Hi Rex,

    thank you for your previous answer. It was a little bit general but it encouraged me to try it again different way :) I filled missing paths and versions of each element in setenv file and made progress. But unfortunately there occurred an error during building sample application tilerDeamon.

    ======== .interfaces [./ti/syslink/samples/hlos/tilerDaemon] ========
    making package.mak (because of package.bld) ...
    js: "./package.bld", line 77: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.syslink.ipc' along the path: '/opt/ti/bios_6_34_04_22//packages;/opt/ti/ipc_1_25_01_09//packages;/opt/ti/xdctools_3_24_05_48/packages;../../../../..;'. Ensure that the package path is set correctly.
    gmake[1]: *** Deleting file `package.mak'
    making package.mak (because of package.bld) ...
    js: "./package.bld", line 77: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.syslink.ipc' along the path: '/opt/ti/bios_6_34_04_22//packages;/opt/ti/ipc_1_25_01_09//packages;/opt/ti/xdctools_3_24_05_48/packages;../../../../..;'. Ensure that the package path is set correctly.
    gmake[1]: *** Deleting file `package.mak'
    gmake[1]: *** No rule to make target `package.mak', needed by `.interfaces'.  Stop.

    Could you tell me where is this package located in your PC? I can't find it anywhere. I have syslink version 2.21.00.03 and I notice that I use versions of bios,ipc and xdctools mentioned in release info or higher.

    Regards Ondrej

  • Hi, Ondrej

    My linux-c6x is installed at /mnt/sda1/work/linux-c6x-2.0.0.63, and in linux-c6x-project/setenv, I have the following path to the other components where I installed.

    export BIOS_DIR=/mnt/sda1/opt/ti/bios_6_32_01_38
    export XDC_DIR=/mnt/sda1/opt/ti/xdctools_3_22_01_21
    export IPC_DIR=/mnt/sda1/opt/ti/ipc_1_23_01_26

    I don't believe it matters where the XDC, et al. are installed, but in your error, it shows // before packages in the path. Do you have the export ended with a / or a typo? Do you have the same version number in the DIR as that in the VERSION export? I recall that I had issue building with later version of BIOS/XDC/IPC, but not 100% sure though. Give it a try to fix the path issue and if you encounter some other build issue, undefined or unresolved symbols (not sure what failed), you may want to roll back to the exact versions.

    Rex

  • Hi Rex,

    I am convinced it doesn't matter where are those parts (ipc, xdca, bios) installed. You are  right that I have exported paths ended with / but I'm pretty sure it is not problem and it has no influence. Used version numbers in path and version exports are identical. I am looking for package 'ti.syslink.ipc' . Could you seek your PC If you have it? Do me one more favor please. Please tell me working versions of syslink and other necessary parts (maybe those mentioned in previous post will be sufficient). Or join your setenv file.  I would like to try them. Thank you.

      Ondrej

  • Hi, Ondrej,

    I am building on a Ubuntu machine. I suspect the ti.syslink.ipc is actually ti/syslink/ipc which is under projects/syslink. I wonder is this forward and backward slash issue normally seen between linux and window pc if you are using one. I am not using a particular version of syslink, but the syslink in the linux-c6x package. Then, download xdc, bios, and ipc separately from the links in linux-c6x Release Notes, http://www.linux-c6x.org/wiki/index.php/Linux-c6x_2.0_Release.

    Rex

  • Hi

    I would like to do short conclusion of gained knowledge.

    1) There is very important to have set SETENV file properly. It means correct paths and versions.

    2) It is necessary to use for c6x-linux building make command. Building syslink targets only doesn't work. I suspect that there is problem in mutual dependencies in makefile.

    Despite these found out facts demo applications still don't work correctly but research is in progress.

    I hope these info will be useful for guys with same troubles.

    Ondrej

  • Hi, Ondrej,

    Thanks for the tips to the forum community. I'd like to be more clearer. Syslink package was for SYS/BIOS, but was ported to Linux in c6x and is called "Syslink for Linux-c6x" which differs from the Syslink for SYS/BIOS. Therefore, one must use the one in the linux-c6x release. SETENV is to set up the environment variable used for Syslink dependencies.

    Make sure the demo filesystem is built and used for the demo. Then, follow the Linux-c6x Syslink wiki page to run the demo.

    Rex