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.

Syslink samples will not run

I have managed to build the Syslink sample programs for the TI816X without error, however, when I try to run them (any of them) I get errors.

root@dm816x-evm:~/TI816X/ti/syslink-examples/TI816X/ringio# ./run_ringio_debug.sh
======== Running app using slaveloader ========
RingIOApp sampleAssertion at Line no: 302 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-02_0
0_00_68-r3i/syslink_02_00_00_68_beta1/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.
c: (status >= 0) : failed application
Run for all supported proc IDs
Entered RingIOApp_startup
Warning! Unsupported procID specified for running the sample application! proc ID: [1]
Warning! Unsupported procID specified for running the sample application! proc ID: [2]
Error in Ipc_control Ipc_CONTROLCMD_LOADCALLBACK [0xffffffff]
Leaving RingIOApp_startup() (0xffffffff)
======== Running app using agruments ========
RingIOApp sample application
Entered RingIOApp_startup
Loading and starting procId [0] with [./ringio_ti81xx_dsp.xe674]
SlaveLoader_startup status [-2]
Leaving RingIOApp_startup() (0xfffffffe)
root@dm816x-evm:~/TI816X/ti/syslink-examples/TI816X/ringio#

The settings used to build Syslink were:

peterr@ubuntu:~/ti-ezsdk_dm816x-evm_5_01_01_80/syslink_2_00_03_82$ make .show-products
DEPOT                    = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80
DEVICE                   = TI816X
GPPOS                    = Linux
SDK                      = EZSDK
SYSLINK_BUILD_DEBUG      = 1
SYSLINK_BUILD_OPTIMIZE   = 0
SYSLINK_TRACE_ENABLE     = 1
LOADER                   =
SYSLINK_INSTALL_DIR      = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/syslink_2_00_03_82
IPC_INSTALL_DIR          = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/ipc_1_23_01_26
BIOS_INSTALL_DIR         = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/bios_6_32_01_38
XDC_INSTALL_DIR          = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/xdctools_3_22_01_21
LINUXKERNEL              = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/psp/linux-2.6.37-psp04.00.00.10
CGT_ARM_PREFIX           = /home/peterr/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
CGT_C64P_INSTALL_DIR     =
CGT_C674_ELF_INSTALL_DIR = /home/peterr/ti-ezsdk_dm816x-evm_5_01_01_80/cgt6x_7_2_2
CGT_M3_ELF_INSTALL_DIR   =
CGT_A8_ELF_INSTALL_DIR   =
EXEC_DIR                 = /home/peterr/targetfs/home/root/TI816X
peterr@ubuntu:~/ti-ezsdk_dm816x-evm_5_01_01_80/syslink_2_00_03_82$

 

Why is it so difficult to get any samples to run 'out of the box'?

 

  • Hmm.  The assert msgs indicate a build '2.00.00.68' of SysLink is being run, while your build settings show you're using build '2.00.03.82'.  Are you sure you're running what you're building?

    Chris

  • I had noticed this, but as the old build had been removed from the system when I rebuilt syslink, I thought it was an artifact of how some pre-built component had been made.

    In Rules.make for the ezsdk I have SYSLINK_INSTALL_DIR (and LINK_INSTALL_DIR) set to the path to syslink_02_00_03_82.

    syslink_02_00_00_68 does not exist on the PC.

     

     

  • Your build may be fine, but I'm more concerned with what's actually running on your board.  From your assert msgs, the syslink.ko driver that's running is still reporting it's a .68 build.

    Assuming the syslink.ko you built from version 2.00.03.82 is on your target, you should see "SysLink version : 2.00.03.82" printed when syslink.ko is insmod'd.

    Chris

  • I am by no means familiar with Unix, so I would appreciate explicit suggestions. I do not understand what you want me to try with the insmod command.

    I have found syslink.ko (in ...syslink_2__00_03_82/packages/ti/syslink/bin/TI816X).

    Assuming that I am getting the wrong version of syslink.ko, how do I find out where it is getting the wrong version from and how I go about installing the correct version.

     

     

  • Hi,

    The EZSDK root filesystem will autoload syslink (and other kernel modules) when booting linux. This is done to ensure that the system is ready to run the matrix driven demos.

    In order to run syslink sample applications, please have a look at http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_EZ_5.02_Software_Developers_Guide#Running_the_SysLink_examples. Note the step at the beginning to bring down the graphics plane (which in turn puts the system into a clean state). Since you are rebuilding the syslink sample applications, you should copy them over once they are build to the filesystem and follow the instructions in the syslink documentation on running them.

  • The instructions I was originally following were from the Syslink Install Guide which mentions nothing about this.

    I have followed the instructions in the new document you referenced and now I can remove slink and add it--although it is far from clear what the 'it' is that gets installed.

    I assume it is still the wrong version as I am getting the same error which refers to a beta version of syslink.

     

    root@dm816x-evm:~/TI816X/ti/syslink-examples/TI816X# ./runsamples_debug.sh     
    ======== Running messageq app ========                                         
    ======== Running app using slaveloader ========                                
    MessageQApp sampAssertion at Line no: 302 in /swcoe/sdk/cm/netra/arago-tmp/work/
    dm816x-evm-none-linux-gnueabi/ti-syslink-02_00_00_68-r3i/syslink_02_00_00_68_bet
    a1/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Lin
    ux/IpcDrv.c: (status >= 0) : failed                                            
    le application                                                                 
    Run for all supported proc IDs                                                 
    Entered MessageQApp_startup                                                    
    Warning! Unsupported procID specified for running the sample application! proc I
    D: [1]                                                                         
    Warning! Unsupported procID specified for running the sample application! proc I
    D: [2]                                                                         
    Error in Ipc_control Ipc_CONTROLCMD_LOADCALLBACK [0xffffffff]                  
    Leaving MessageQApp_startup ffffffff                                           
    ======== Running app using agruments ========    .

    After weeks of errors and various suggestions I am no closer to getting ONE of these sample programs to run.

    I would appreciate a clear and complete description of how to do this. If it's this difficult to get a sample program to run, what hope is there of getting a serious application to execute?

     

  • Here is how to load a specific version of syslink.ko

    1.  cd to the directory containing the version of syslink.ko that you want to use.

    2.  Unload the old version of syslink:

        rmmod syslink.ko

    3. Load your specific version, and also turn on kernel level debug tracing

      insmod syslink.ko TRACE=1 TRACEFAILURE=1

    4. To view the logs, use dmesg.  The latest stuff is at the end of the log

      dmesg

    5. You will also want to enable the environment variables that display the application level debug traces.

      export TRACE=1                                           
      export TRACEFAILURE=1                                    
      export TRACEENTER=1                                      
      export TRACECLASS=3

    6. Now when you run the messageQ app, you'll get detailed info on the console, and from dmesg.

  • As has been my experience with this software it's one step forward then two backwards.

    I have tried doing what worked yesterday to stop the various things that are preventing the removal of syslink.ko.

    This time, after power-cycling the board, I get the following:

     

    dm816x-evm login: root                                                         
    root@dm816x-evm:~# /etc/init.d/pvr-init stop                                   
    ioctl FBIOGET_VSCREENINFO: Inappropriate ioctl for device                      
    ioctl FBIOGET_VSCREENINFO: Inappropriate ioctl for device                      
    Stopping PVR                                                                   
    root@dm816x-evm:~# /etc/init.d/matrix-gui-e stop                               
    Stopping Matrix GUI application.                                               
    root@dm816x-evm:~# /etc/init.d/load-hdvicp2-firmware.sh stop                   
    Unloading HDVICP2 Firmware                                                     
    FIRMWARE: Could not open ProcMgr: -2                                           
    rm: cannot remove '/tmp/firmware.1': No such file or directory                 
    ERROR: Module syslink is in use by vpss                                        
    root@dm816x-evm:~#

     

    Now what is wrong?

     

  • Peter,

    Peter Robertson said:

    I have followed the instructions in the new document you referenced and now I can remove slink and add it--although it is far from clear what the 'it' is that gets installed.

    I assume it is still the wrong version as I am getting the same error which refers to a beta version of syslink.

    After removing the syslink.ko as per the document above, before inserting the 'new' syslink.ko, you need to copy the one that you built over into the target file system so that you can insert that one using insmod. Currently, you're inserting the same thing again, hence not seeing any difference.

    Peter Robertson said:

    Warning! Unsupported procID specified for running the sample application! proc I
    D: [1]                                                                         
    Warning! Unsupported procID specified for running the sample application! proc I
    D: [2]                                                                         
    Error in Ipc_control Ipc_CONTROLCMD_LOADCALLBACK [0xffffffff]                  
    Leaving MessageQApp_startup ffffffff                                           

    These specific errors come when you're trying to run the sample application for all processor IDs, but the applicatio nhas been built for EZSDK, i.e. only to run with the DSP (proc ID 0). Can you run the application with this command and check if it runs to completion:

    ./messageqapp_debug 1 DSP ./messageq_ti81xx_dsp.xe674

    This is the valid command for runnig the SysLink sample app with EZSDK. The other option is to make sure that you've copied the sample running scripts from folder syslink\tools\scripts\ti81xx\ezsdk and not from folder syslink\tools\scripts\ti81xx. The scripts in the ezsdk folder will work with the sample built for EZSDK.

    Regards,

    Mugdha

  • Did this error get resolved? I am also getting same error on my TI814x EVM board while running syslink examples.

    Following message is when I use slaveloader to load DSP (Trace enabled).

    ./slaveloader_debug startup DSP ./messageq_ti81xx_dsp.xe674

    Trace enabled
    Trace SetFailureReason enabled
    *** ProcMgr_open: OPEN API (through IOCTL) failed on kernel-side!
            Error [0xfffffffe] at Line no: 778 in file /home/vishal/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_10_05_26/packages/ti/syslink/procM
    gr/hlos/usr/ProcMgr.c

    While starting host side app, I get this error.

    ./messageqapp_debug
    MessageQApp sample application
    Trace enabledAssertion at Line no: 301 in /swcoe/sdk/cm/netra/arago-tmp/work/dm814x-evm-none-linux-gnueabi/ti-syslink-2_00_05_85-r1i/syslink_2_00_05_85/packa
    ges/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c: (status >= 0) : failed

    Trace SetFailureReason enabled
    Run for all supported proc IDs
    Entered MessageQApp_startup
    Warning! Unsupported procID specified for running the sample application! proc ID: [1]
    Warning! Unsupported procID specified for running the sample application! proc ID: [2]
    *** Ipc_control: API (through IOCTL) failed on kernel-side!
            Error [0xffffffff] at Line no: 1077 in file /home/vishal/ti-ezsdk_dm814x-evm_5_03_01_15/component-sources/syslink_2_10_05_26/packages/ti/syslink/ipc/
    hlos/usr/Ipc.c
    Error in Ipc_control Ipc_CONTROLCMD_LOADCALLBACK [0xffffffff]
    Leaving MessageQApp_startup ffffffff

  • I'm sorry but I can't help. We never did get anything to work properly and as a result the project was abandoned.