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.

DM8148 Syslink Examples

DM8148 EVM

ti-ezsdk_dm814x-evm_5_03_01_15

What is the procedure for building and installing the Syslink examples when using the NFS file system?

The files do show up under the dm814x-evm directory where other components do. 

There are files under /usr/share/ti/syslink-examples/TI814X but they are not replaced following "DM814x AM387x EZ Software Developers Guide" instructions.

The source seems to be under ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/samples.

 

  • David,

    The process for building SysLink examples is the same regardless of file system type.  See the SysLink Install Guide at the following link.

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

    Once you have built the SysLink samples, you can "install" them onto your NFS file system using the 'make install' command. See section 1.4.1.2 of the SysLink Install Guide. There might be some other EZSDK specific instructions to follow. Maybe someone on the SDK team can add more details.

    ~ Ramsey

  • I did use that install guide to install syslink_2_10_01_15 when using the ti-ezsdk_dm814x-evm_5_02_01_58 version of the SDK.  It did build but the examples did not work.

    I switched to ti-ezsdk_dm814x-evm_5_03_01_15 when it came out and am trying to get it to work.  The built-in Syslink examples are not laid out the same as the installed version.

    The current EZSDK uses syslink_2_00_05_85.  Will it work with the newer 2_10_01_15?  If so, it seems like it would have been included.

    Are there any working (tested) examples of Syslink for this platform?

     

  • Hi David,

    when trying to run the syslink samples, did you follow the instructions from here?

    I ask this because although following these instructions until now I never got these samples running (tried only with EZSDK 2.03.01.15). So it was interesting for me, if possibly also your tests lead to an error message loop  "Ipc_attach: Ipc_procSyncStart failed!". I got this if loaded syslink.ko with these settings:

    modprobe syslink TRACE=1 TRACEFAILURE=1 TRACEENTER=0 TRACECLASS=3

    I assume a mis-configuration concerning an address for communication between DSP and ARM and tried several setting, but without fortune, an without a reply by TI, too. See my thread here, maybe our problems are somewhat connected.

    Regards,
    Joern.

  • Yes I have used those instructions and they rebuild some Syslink components but not the examples.

    Please see this post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/152535.aspx and my response from 01-09-2012 9:53 AM.  This did get me past an issue with the clocks mismatching.

  • David,

    The current release of SysLink 2.10.02.17 should work with ti-ezsdk_dm814x-evm_5_03_01_15. However, since we release SysLink before the sdk, it is up to the sdk team to validate the SysLink examples with their release. Here are some items to check.

    1. DSP clock rate. The default clock source changed in the PSP from 32kHz to 20MHz, so updates to SysLink were required. The latest SysLink release already has this fix, so you should not need to make this change. You can read about it at this link.

    http://processors.wiki.ti.com/index.php/SYS/BIOS_dmtimer_configuration_for_TI81xx

    2. Memory map differences. The SysLink samples use 80MB of external memory starting at 0x8B000000. Make sure there is no overlap with Linux memory.

    3. Must stop the graphics drivers. The EZSDK might start some demoware when Linux boots. These could conflict with SysLink samples. Please see the following link for details.

    http://processors.wiki.ti.com/index.php/DM814x_EZ_5.03_Software_Developers_Guide#Running_the_SysLink_examples

    Re: different file layout. The SysLink sample layout generated by the 'make install' command is the correct one. The EZSDK version might work, but if you are building the samples yourself, you should use the layout generated by the build.

    I hope this helps.

    ~ Ramsey

  • Some success!

    Although syslink_2_00_05_85 is part of  ti-ezsdk_dm814x-evm_5_03_01_15 it is not quite "installed". 

    It still needs the changes to ~/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/products.mak as described in the syslink install guide.

    The lines below need changed

    DEVICE = TI814X
    GPPOS = Linux
    SDK = EZSDK
    EXEC_DIR = ~/targetfs/usr/share
    DEPOT = ~

    else ifeq ("$(DEVICE)","TI814X")
    LINUXKERNEL = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2
    CGT_ARM_INSTALL_DIR = $(DEPOT)/CodeSourcery/Sourcery_G++_Lite
    CGT_ARM_PREFIX = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/ipc_1_23_05_40
    BIOS_INSTALL_DIR = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/bios_6_32_05_54
    XDC_INSTALL_DIR = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/xdctools_3_22_04_46
    CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/dsp-devkit/cgt6x_7_3_1

    After that "make samples" will build the examples and "make install" will copy them to the file system.

    The samples do run using scripts provided.

     

  • Congratulations, Dave, so you've been somewhat faster than me...

    Concerning my own problems with the syslink error message "Ipc_attach: Ipc_procSyncStart failed!" when using the CodecEngine I had tried around with the syslink samples and found the same problem. Via Ramsey's hint  above concerning the recently reported change of the default clock source in the PSP from 32kHz to 20MHz I checked concerning that and found that it actually is has been the reason for my problems. Now I will have to find out how to change this setting for the CodecEngine, too, but that belongs to an other thread...

    Just yet a note concerning the changes you describe above:

    • For me for some reason the tilde '~/ezsdk' did not work concerning the include pathes, I had to use something like '/home/${USER}/ezsdk' or '${PWD}/ezsdk'. 
    • Seemingly 'make all' from the syslink directory did not build the samples, but 'make samples' did.

    Best regards,
    Joern.

  • I'm at the same point, I can build the samples but not the driver.  It's hanging up when _NameServer.h tries to include NameServer.h and it can't find it.  It's looking under the syslink directory instead of the ipc directory.

    Hopefully there is an easy answer for this

    BTW, I accidently it "verify" instead of "reply" on your last post.  There's no "are you sure?" or anything.

    # Making syslink_driver...
    make -C packages \
    DEVICE=TI814X \
    GPPOS=Linux \
    LOADER= \
    SYSLINK_REPO=/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages \
    IPC_INSTALL_DIR=~/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/ipc_1_23_05_40 \
    CGT_ARM_PREFIX=~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- \
    LINUXKERNEL=~/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2 \
    SYSLINK_BUILD_DEBUG=1 \
    SYSLINK_BUILD_OPTIMIZE=0 \
    SYSLINK_TRACE_ENABLE=1 \
    syslink_driver
    make[1]: Entering directory `/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages'
    #
    # Making syslink_driver in ti/syslink/utils/hlos/knl/Linux
    make -C ti/syslink/utils/hlos/knl/Linux \
    ARCH=arm CROSS_COMPILE=~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- \
    KDIR=~/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2 SYSLINK_ROOT=/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages \
    SYSLINK_PLATFORM=TI81XX SYSLINK_PKGPATH="~/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/ipc_1_23_05_40/packages;/packages"\
    SYSLINK_VARIANT=TI814X \
    SYSLINK_BUILD_DEBUG=1 \
    SYSLINK_BUILD_OPTIMIZE=0 \
    SYSLINK_TRACE_ENABLE=1
    make[2]: Entering directory `/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/utils/hlos/knl/Linux'
    make -C ~/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2 SUBDIRS=/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/utils/hlos/knl/Linux modules
    make[3]: Entering directory `/home/david/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2'
    CC [M] /home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/utils/hlos/knl/Linux/NameServerDrv.o
    In file included from /home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/utils/hlos/knl/Linux/NameServerDrv.c:74:
    /home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/inc/_NameServer.h:106:31: error: ti/ipc/NameServer.h: No such file or directory
    In file included from /home/david/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_00_05_85/packages/ti/syslink/utils/hlos/knl/Linux/NameServerDrv.c:74:

  • So the tilde seems not to work also for you. If I use

    IPC_INSTALL_DIR         = ~/ezsdk/component-sources/ipc_1_23_05_40

    then I get exactly the same error concerning NameServer.h (but which is to be found below that directory...).

    If I use the path setting without the '~', f.e.

    IPC_INSTALL_DIR         = /home/${USER}/ezsdk/component-sources/ipc_1_23_05_40

    then the missed header will be found.

  • Yes, based on you previous problem with the '~' I took it out and the driver builds.

    Many thanks for the hint.

    Now to see if the built driver works (like the pre-existing one did)

     

  • David, does frameq works for you? thanks.

  • I'm back on this part of the project again and yes the frameq example works.  I started from scratch today so here's what it takes.

    1. Download and extract syslink_2_10_03_20 (I put it under /ti/syslink_2_10_03_20)
    2. Edit products.mak to point to the tools on your disk
      My changes are below as an example

      DEVICE = TI814X
      SDK = EZSDK
      EXEC_DIR = /home/david/targetfs/usr/share
      DEPOT = /home/david
      LINUXKERNEL             = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/board-support/linux-2.6.37-psp04.01.00.06.patch2
      CGT_ARM_INSTALL_DIR     = $(DEPOT)/CodeSourcery/Sourcery_G++_Lite
      IPC_INSTALL_DIR         = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/ipc_1_23_05_40
      BIOS_INSTALL_DIR        = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/bios_6_32_05_54
      XDC_INSTALL_DIR         = $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/xdctools_3_22_04_46
      CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/ti-ezsdk_dm814x-evm_5_03_01_15/dsp-devkit/cgt6x_7_3_1

    3. "make" to build
    4. "make samples" to build samples
    5. "make install" to copy to root file system
    6. install the driver "insmod syslink.ko".  You can copy syslink.ko from targetfs/usr/share/lib/modules/2.6.37/kernel/drivers/dsp  to /targetfs/lib/modules/2.6.37/kernel/drivers/dsp to find it without a path.
    7. run the drivers using the scripts in /usr/share/ti/syslink-examples/TI814X