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.

Error when running slaveloader

The run.sh provided with the example recommends using slave loader.

$ ./slaveloader startup DSP server_dsp.xe674

When using it, syslink reports the following error:

*** ProcMgrDrv_ioctl: Unsupported ioctl command specified
        Error [0xfffffffe] at Line no: 2138 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/hlos/knl/Linux/ProcMgrDrv.c
    Notify: Termination packet

And after running the example, syslink throws the following on the console:

ElfLoader_getSymbolAddress: symName [_Ipc_ResetVector]

Assertion at Line no: 2108 in /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/loaders/Elf/ElfLoader.c: (_elfLoaderObj->dloadHandle d
*** Loader_getSymbolAddress: Failed to get the symbol address!
        Error [0x8485f003] at Line no: 414 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/Loader.c
*** ProcMgr_getSymbolAddress: Failed to get symbol address!
        Error [0x8485f003] at Line no: 2155 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c
*** Platform_loadCallback: ProcMgr_getSymbolAddress failed
        Error [0xffffffff] at Line no: 2485 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c
*** Ipc_control: Platform_loadCallback failed!
        Error [0xffffffff] at Line no: 839 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c
Assertion at Line no: 301 in /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c: (status >= 0) : failed
OsalSemaphore_pend:    Semaphore pend interrupted
    Handle [0xcfe38000]

 

The question is: why cant syslink find the _Ipc_ResetVector symbol (causing the whole syslink initialization for the host to fail and the program to abort)

 Also, where should the symbol that syslink is trying to find defined? is that supposed to be part of the DSP executable? Could the problem be due to a memory region mismatch between the DSP and the ARM? I have noticed that the addresses in shared/config.bld are not adequate for my board (I am running with a 512MB memory map nad therefore updated the config.bld accordingly)

thanks

Jorge

 

  • Jorge,

    Your question seems to be distinct from the thread that you originally posted it on (http://e2e.ti.com/support/embedded/linux/f/354/t/195025.aspx), so I have split it into a separate thread with a different title so that it will (hopefully) get a faster response.

    Dave

  • Jorge,

    It appears that you have two unrelated issues going on here...

    Jorge Ramirez said:

    $ ./slaveloader startup DSP server_dsp.xe674

    When using it, syslink reports the following error:

    *** ProcMgrDrv_ioctl: Unsupported ioctl command specified
            Error [0xfffffffe] at Line no: 2138 in file /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/hlos/knl/Linux/ProcMgrDrv.c
        Notify: Termination packet

    We have seen this sort of error when there is a mismatch between the SysLink user libraries and the kernel module syslink.ko, mostly when folks have changed ProcMgr_MAX_MEMORY_REGIONS and then rebuilt the kernel module without rebuilding user libraries (or user libraries were rebuilt but the user application was not relinked with the new user library).

    Can you ensure that the kernel module syslink.ko, Linux user libraries, and Linux user application have all been rebuilt anew?

    Jorge Ramirez said:

    ElfLoader_getSymbolAddress: symName [_Ipc_ResetVector]

    Assertion at Line no: 2108 in /opt/disc2/ezsdk_5_04_00_11_dm814x/component-sources/syslink_2_10_03_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/loaders/Elf/ElfLoader.c: (_elfLoaderObj->dloadHandle d
    *** Loader_getSymbolAddress: Failed to get the symbol address!

    This issue typically crops up when the DSP application doesn't contain the following line in its .cfg script:
        xdc.useModule('ti.syslink.ipc.rtos.Syslink');
    Can you ensure that you have that line?

    Regards,

    - Rob