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 pending problem

Hello, 

I am now trying to execute a syslink example on dm8168.  The example is the ex01_helloworld.

When I run run.sh, it pended and timed out. Specifically,  the line ‘status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);’ in ex01_helloworld/host/main_host.c is timed out.

What is problem and how can I solve it?

More specific situation is explained below,

Thank you.

1. Environment variables of my boot loader.

TI8168_EVM#printenv

bootdelay=3

baudrate=115200

autoload=no

verify=yes

bootfile=uImage

ramdisk_file=ramdisk.gz

loadaddr=0x81000000

script_addr=0x80900000

loadbootscript=fatload mmc 0 ${script_addr} boot.scr

bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script_addr}

ethaddr=84:7e:40:f6:13:c8

ethact=DaVinci EMAC

uboot=mmc rescan 0;mw.b 0x81000000 0xFF 0x00260000;fatload mmc 0 0x81000000 u-boot.noxip.bin;nand erase 0x0 0x00260000;nand write.i 0x81000000 0x0 0x00260000

kernel=mmc rescan 0;mw.b 0x81000000 0xFF 0x00300000;fatload mmc 0 0x81000000 uImage;nand erase 0x00280000 0x00300000;nand write.i 0x81000000 0x00280000 0x00300000

bootargs=console=ttyO2,115200n8 rootwait root=ubi0:rootfs init=/init, nolock rw ubi.mtd=3,2048 rootfstype=ubifs earlyprintk mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd

botcmd=mmc rescan 0;fatload mmc 0 0xc0700000 uImage; bootm c0700000;

bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else echo In case ENV on MMC/SD is required; echo Please put a valid script named boot.scr on the card; echo Refer to the User Guide on how to generate the image; fi; else echo Please set bootargs and bootcmd before booting the kernel; echo If that has already been done please ignore this message; fi

ver=U-Boot 2010.06 (Dec 24 2012 - 20:11:30)

 

 

2. setting in ex01_helloworld/shared/config.bld

var SR_0 = {

name: "SR_0", space: "data", access: "RWX",

base: 0x9f700000, len: 0x200000,

comment: "SR#0 Memory (2 MB)"

};

 

Build.platformTable["ti.platforms.evmTI816X:dsp"] = {

externalMemoryMap: [

[ SR_0.name, SR_0 ],

[ "DSP_PROG", {

name: "DSP_PROG", space: "code/data", access: "RWX",

base: 0x99500000, len: 0xc00000,

comment: "DSP Program Memory (12 MB)"

}]

],

codeMemory: "DSP_PROG",

dataMemory: "DSP_PROG",

stackMemory: "DSP_PROG",

l1DMode: "32k",

l1PMode: "32k",

l2Mode: "256k"

};

 

 

 

3. cf: shared region setting in ex01_helloworld/dsp/Dsp.cfg

SharedRegion.setEntryMeta(0,

new SharedRegion.Entry({

name: "SR0",

base: SR0Mem.base,

len: SR0Mem.len,

ownerProcId: MultiProc.getIdMeta("HOST"),

cacheEnable: false,

isValid: true

})

);

 

 

4. execute run.sh at the target board

4-1. After booting, I stoped pvr-init, matrix-gui-e, load-hd-firmware.sh. And I executed 'modprobe syslink'. And I execute run.sh in ex01_helloworld.

Starting Matrix GUI application.

 

_____ _____ _ _

| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_

| | _| .'| . | . | | __| _| . | | | -_| _| _|

|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|

|___| |___|

 

Arago Project http://arago-project.org dm816x-evm ttyO2

 

Arago 2011.09 dm816x-evm ttyO2

 

dm816x-evm login: root

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

root@dm816x-evm:/etc/init.d# ./pvr-init stop

Stopping PVR

root@dm816x-evm:/etc/init.d# ./matrix-gui-e stop

Stopping Matrix GUI application.

root@dm816x-evm:/etc/init.d# ./load-hd-firmware.sh stop

Unloading HDVICP2 Firmware

FIRMWARE: I2cInit will be done by M3

FIRMWARE: Memory map bin file not passed

Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]

===Mandatory arguments===

<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3

<Location of Firmware> firmware binary file

<start|stop> to start/stop the firmware

===Optional arguments===

-mmap input memory map bin file name

-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3

FIRMWARE: isI2cInitRequiredOnM3: 1

FIRMWARE: Default memory configuration is used

Firmware Loader debugging not configured

Default FL_DEBUG: warning

Allowed FL_DEBUG levels: error, warning, info, debug, log

MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1

FIRMWARE: 1 stop Successful

Unloading HDVPSS Firmware

FIRMWARE: I2cInit will be done by M3

FIRMWARE: Memory map bin file not passed

Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]

===Mandatory arguments===

<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3

<Location of Firmware> firmware binary file

<start|stop> to start/stop the firmware

===Optional arguments===

-mmap input memory map bin file name

-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3

FIRMWARE: isI2cInitRequiredOnM3: 1

FIRMWARE: Default memory configuration is used

Firmware Loader debugging not configured

Default FL_DEBUG: warning

Allowed FL_DEBUG levels: error, warning, info, debug, log

MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1

FIRMWARE: 2 stop Successful

Removed syslink kernel module

root@dm816x-evm:/etc/init.d# modprobe syslink

SysLink version : 2.20.02.20

SysLink module created on Date:Dec 1 2015 Time:16:48:18

root@dm816x-evm:/etc/init.d# lsmod

Module Size Used by

syslink 1127187 0

ipv6 209855 12

root@dm816x-evm:/etc/init.d# cd /media/mmcblk0p1/ex01_helloworld/debug_1gbmap/

root@dm816x-evm:/media/mmcblk0p1/ex01_helloworld/debug_1gbmap# ls

app_host run.sh server_dsp.xe674 slaveloader

root@dm816x-evm:/media/mmcblk0p1/ex01_helloworld/debug_1gbmap# ./run.sh

+ ./slaveloader startup DSP server_dsp.xe674

Attached to slave procId 0.

Loading procId 0.

Loaded file server_dsp.xe674 on slave procId 0.

Started slave procId 0.

+ ./app_host DSP

remoteProcId = 0

3-1

3-3 <-- here, timed out!

4-1

4-2

2 (status:-1)

+ ./slaveloader shutdown DSP

Stopped slave procId 0.

Unloaded slave procId 0.

Detached from slave procId 0.

 

4-2.Problem: This run.sh is timed out at  the line ‘status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);’ in ex01_helloworld/host/main_host.c.

 

Int Main_main(Void)

{

UInt16 remoteProcId;

Int status = 0;

 

 

/* invoke the SysLink load callback */

remoteProcId = MultiProc_getId(Main_remoteProcName);

printf("remoteProcId = %d\n", remoteProcId);

status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_LOADCALLBACK, NULL);

printf("3-1\n");

 

if (status < 0) {

printf("3-2\n");

goto leave;

}

printf("3-3\n");

 

/* invoke the SysLink start callback */

status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);

printf("4-1\n");

 

if (status < 0) {

printf("4-2(status:%d)\n",status);

goto leave;

}

printf("4-3\n");

 

  • Hello,

    I would recommend you to try with the default EZSDK.

    What is the syslink version that you are using here?

    Note! The syslink samples use a different memory map from the default EZSDK installation. In order to run
    syslink examples, you must boot with a different memory for linux. When booting, ensure that the linux
    bootargs is changed from the default values to MEM=169M
    Note! The syslink samples cannot be run out with graphics or firmware loaded. Please execute the following
    steps to teardown the graphics plane and ensure that no firmware is running.

    target # /etc/init.d/pvr-init stop
    target # /etc/init.d/matrix-gui-e stop
    target # /etc/init.d/load-hd-firmware.sh stop


    target # modprobe syslink
    target # cd /usr/share/ti/syslink-examples/TI816X
    target # cd helloworld

    target # ./run.sh

    For more information you could check the User guide(DM816x_EZ_Software_Developers_Guide.pdf).

    BR
    Margarita

  • Dear Margarita,

    I have already done what you suggested. But the result is same.

    Today, I got the driver error message using dmesg as follows.

    I hope the error message would be help to solve the problem.

    Thanks.

    ---------------------------------------------------------------------------------------
    SysLink version : 2.20.02.20
    SysLink module created on Date:Dec 1 2015 Time:16:48:18
    Trace enabled
    Trace SetFailureReason enabled
    *** Platform_startCallback: Ipc_attach timeout
    Error [0xffffffff] at Line no: 2860 in file /home/kdk/project/gpr/component-sources/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c
    *** Ipc_control: Platform_startCallback failed!
    Error [0xffffffff] at Line no: 853 in file /home/kdk/project/gpr/component-sources/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c
    ---------------------------------------------------------------------------------------------------------------------
  • Hello,

    You could check this wiki:

    processors.wiki.ti.com/.../SysLink_FAQs


    BR
    Margarita
  • Dear Margarita,

    I have already done this. But, it still pends.

  • Hello,

    Are you using the default EZSDK or you made some changes?

    BR
    Margarita