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 examples on DM814x EVM

Syslink examples do not work on DM814x EVM

1)      The pre-installed examples on the SD card are incomplete (no scripts) and lock up the board trying to use slaveloader

2)      The examples in the NFS mounted file system fail with the following message.
BUG: Your driver calls ioremap() on system memory.  This leads to architecturally unpredictable behaviour on ARMv6+, and ioremap() will fail in the next kernel release.  Please fix your driver.

3)      The examples built from /ti-ezsdk_dm814x-evm_5_03_00_09/component-sources/syslink_2_00_04_83 fail similar to above.  The terminal is locked up after running it.

Are there any working examples of Syslink for this platform?

 

 

  • Lowering the mem setting in the boot line to "mem=192M" gets rid  of the warning clutter.  Now it stops here

    root@dm814x-evm:/ti/syslink-examples/TI814X# insmod syslink.ko

    SysLink version : 2.00.04.83

    SysLink module created on Date:Dec  9 2011 Time:08:39:48

    root@dm814x-evm:/ti/syslink-examples/TI814X# ls

    frameq                 listmp                 runsamples_debug.sh

    gatemp                 messageq               runsamples_release.sh

    heapbufmp              notify                 syslink.ko

    heapmemmp              ringio

    root@dm814x-evm:/ti/syslink-examples/TI814X# ./runsamples_debug.sh

    ======== Running messageq app ========

    ======== Running app using slaveloader ========

    Attached to slave procId 0.

    Loaded file ./messageq_ti81xx_dsp.xe674 on slave procId 0.

    Started slave procId 0.

    MessageQApp sample application

    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]

    After Ipc_loadcallback:

        status [0x0]

  • I too cannot get any of the syslink examples from the EZSDK to run on the 8148EVM (PG2.1).  They lock up the ARM core after the Ipc_loadcallback message.  I am using EZSDK 5_03_01_15. 

    As shipped, the examples will cause ioremap and virtual memory errors in Linux without decreasing the Linux memory on the command line with "mem=128M".  After that, there are no errors but the ARM locks up after the DSP load.  I compiled and ran my own syslink + examples from the EZSDK but they do the same thing.

    root@dm814x-evm:~# cat /proc/cmdline
    console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=128M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti814xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd

    root@dm814x-evm:~# cd /etc/init.d/

    root@dm814x-evm:/etc/init.d# ./pvr-init stop
    Stopping PVR

    root@dm814x-evm:/etc/init.d# ./matrix-gui-e stop
    Stopping Matrix GUI application.

    root@dm814x-evm:/etc/init.d# ./load-hd-firmware.sh stop
    Unloading HDVICP2 Firmware
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
    FIRMWARE: Default memory configuration is used
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
    FIRMWARE: Memory Configuration status : In Progress
    FIRMWARE: 1 stop Successful
    Unloading HDVPSS Firmware
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
    FIRMWARE: Default memory configuration is used
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
    FIRMWARE: Memory Configuration status : In Progress
    FIRMWARE: 2 stop Successful
    Removed syslink kernel module

    root@dm814x-evm:/etc/init.d# cd /usr/share/ti/syslink-examples/TI814X/notify

    root@dm814x-evm:/usr/share/ti/syslink-examples/TI814X/notify# modprobe syslink
    SysLink version : 2.00.05.85
    SysLink module created on Date:Dec  9 2011 Time:17:34:15

    root@dm814x-evm:/usr/share/ti/syslink-examples/TI814X/notify# ./notifyapp_release 1 DSP ./notify_ti81xx_dsp.xe674
    NotifyApp sample application
    Entered NotifyApp_startup. Number of processors: 4
    Loading and starting procId [0] with [./notify_ti81xx_dsp.xe674]
    Attached to slave procId 0.
    Loaded file ./notify_ti81xx_dsp.xe674 on slave procId 0.
    Started slave procId 0.
    SlaveLoader_startup status [111693824]
    After Ipc_loadcallback:
        status [0x0]

  • Check out the below e2e forum post. I think it may help you resolve the issue.

    http://e2e.ti.com/support/embedded/linux/f/354/t/137976.aspx

    -Mark

  • These appear to be different issues.

  • Thanks for the reply.  The referenced thread addresses two issues on the DM8168.  Note the problem here is on the DM8148.  The issues are:

    1) A syslink version mismatch between syslink examples and running syslink driver causing an assert.

    2) Running the syslink example across multiple processors at once.

    The first is not an issue since I am not getting an assert and both the examples and driver are straight from the 5_03_01_15 EZSDK root filesystem created with mksdboot.sh.

    The second is not an issue since I am already running "./notifyapp_release 1 DSP ./notify_ti81xx_dsp.xe674" to isolate the run to the DSP. 

    The fact that I had to adjust the Linux memory map to get the example to run and that nobody else seems to have gotten the examples working on the DM8148 leads me to believe that the DSP-side code has not been properly ported for the DM8148 and that there is some conflict causing the lock up.

    Thanks,
    Scott

  • Dave, Scott,

    From our development team:

    The customer will need to rebuild the syslink examples for DM814x. The problem is with clocking for the DSP. DMTimer0 for DSP was supposed to be a 32Khz clock on all devices, but on Centaurus (DM8148) it is a 20MHz clock. I'm not sure where the clock is configured by default, but the net impact is that the syslink examples need to be recompiled after modification of the samples' .cfg files.

    Please let me knnow if this resolves your issue.

    Regards,

    Mark

  • I changed all the *.cfg files that contained "Timer.intFreq.lo = 32768", rebuilt everything and it does not lock up.

    It now has the following errors

    root@dm814x-evm:/usr/share/ti/syslink-examples/TI814X# ./runsamples_debug.sh
    ======== Running messageq app ========
    ======== Running app using slaveloader ========
    OsalDrv driver open: /dev/syslinkipc_Osal: No such file or directory
    OsalDrv driver close: /dev/syslinkipc_Osal: Bad file descriptor
    /dev/syslinkipc_MultiProc: No such file or directory
    MultiProc driver close: : Bad file descriptor
    SharedRegion driver open: : No such file or directory
    SharedRegion driver close: : Bad file descriptor

     

    Running just the slaveloader produces the same thing
    ./slaveloader_release startup DSP ./frameq_ti81xx_dsp.xe674

  • David,

    This sounds like the SysLink driver was not installed.

    ~ Ramsey

  • Any update on  this issue?????

    Follow the same procedure as Scott, I can get notify, messageQ, etc. running on DM8148-EVM.

    But no luck on frameq or heapbufmp, still hangs. clock has been changed to 20MHz in cfg. MEM = 169M in bootargs.

    Like  this one: 

    root@dm814x-evm:~/dm814x-evm/ti/syslink-examples/TI814X/frameq# ./frameqapp_debug 1 DSP ./frameq_ti81xx_dsp.xe674 
    FrameQApp sample application
    Entered FrameQApp_startup
    Loading and starting procId [0] with [./frameq_ti81xx_dsp.xe674]
    Attached to slave procId 0.
    Loaded file ./frameq_ti81xx_dsp.xe674 on slave procId 0.
    Started slave procId 0.
    SlaveLoader_startup status [111693824]
    After Ipc_loadcallback:
    status [0x0]