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.

Loading DSP fails if the filesystem is loaded with xem3s (with 5.05 EZSDK)

I am trying to load CE Server (DSP side executable) for a simple audio codec CE package.

If the firmwares are loaded, then the application hangs while loading DSP side executable. Below is the message from console when we tried to run the application in CE_DEBUG=3

[t=0x000fbde0] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] Engine_open> Enter('all_codecs_engine', 0x0, 0xbefd0bd4)

[t=0x000fbe28] [tid=0x400f9000] ti.sdo.ce.Engine: [+1] Engine_open> desc->memMap [0x0], desc->useExtLoader [0]

[t=0x000fbe67] [tid=0x400f9000] ti.sdo.ce.osal.Memory: [+E] Memory_alloc> Enter(0x40)

[t=0x000fbe9b] [tid=0x400f9000] ti.sdo.ce.osal.Memory: [+X] Memory_alloc> return (0xfad90)

[t=0x000fbecf] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> Enter(engine=0xfad90, ec=0xbefd0bd4)

[t=0x000fbf08] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> engine->desc = 0xfad28

[t=0x000fbf39] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> engine->desc->algTab = 0x0

[t=0x000fbf6c] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> engine has server!

[t=0x000fbf9e] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> engine->procId = DSP

[t=0x000fbfd1] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rmsInit> engine->coreId = 0

[t=0x000fc005] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rserverOpen('all_codecs_DSP.xe674'), count = 0

[t=0x000fc03d] [tid=0x400f9000] ti.sdo.ce.Engine: [+E] rserverOpen >, memMap = 0x0, useExtLoader = 0

[t=0x000fc07c] [tid=0x400f9000] ti.sdo.ce.ipc.Processor: [+E] Processor_create> Enter(imageName='all_codecs_DSP.xe674', memMap='(null)', attrs=0xbefd0bc0)

[t=0x000fc2db] [tid=0x400f9000] ti.sdo.ce.osal.Memory: [+E] Memory_alloc> Enter(0x3c)

[t=0x000fc320] [tid=0x400f9000] ti.sdo.ce.osal.Memory: [+X] Memory_alloc> return (0xfadd8)

[t=0x000fc356] [tid=0x400f9000] ti.sdo.ce.ipc.Processor: [+E] doCmd> Enter (cmdId=1, proc=0xfadd8)

[t=0x000fc3b5] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+X] getCmd_d> Exit (result=1)

[t=0x000fc3ed] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+E] Processor_create_d> Enter(proc=0xfadd8)

[t=0x000fc425] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Retrieving CPU ID for 'DSP'...

[t=0x000fc465] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Opening DSP ProcMgr for cpuId 0...

[t=0x000fc77d] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Attaching to DSP...

[t=0x000fd5f6] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Loading all_codecs_DSP.xe674 on DSP (0 args)...

[t=0x001fd727] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> calling Ipc_control(LOADCALLBACK)...

[t=0x001fdbeb] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Ipc_control(LOADCALLBACK) status: 0

[t=0x001fdc4e] [tid=0x4cbdf490] ti.sdo.ce.ipc.Processor: [+2] Processor_create_d> Starting DSP ...

 

If the firmwares are not loaded, then the application seems to work fine. Any help in resolving this issue is appreciated.

 

  • Hello,

    Please follow the instruction below how to running CE examples.


    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 Codec Engine examples cannot be run out with graphics. 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
    To run the application, enter the following set of commands on the target:
    target # cd /usr/share/ti/ti-codec-engine-examples
    Ensure that syslink and cmem modules are installed with memory configuration as below
    target # modprobe syslink
    target # modprobe cmemk phys_start=0x94000000 phys_end=0x947fffff \
    pools=20x4096,10x131072,2x1048576
    To run the audio1_copy example, you will need to run the following commands.
    target # cd audio1_copy
    target # ./app_remote.xv5T

    Hope this help.

    Best Regards,

    Margarita

  • Thank you Margarita for the reply.

    Our end application uses HDVPSS and HDVICP xem3 executables. And we use DSP side for Codec engine based audio codecs.

    The application seems to work fine with EZSDK 5.03. We started seeing this issue after we ported the application to use EZSDK 5.05.

    From the explanation given by you, is it not possible to use DSP for CE based components along with hd firmware?

    If possible, how should I change the memory map? Is there any other resource available?

    Thanks and regards,

    Lijo

     

  • Hello,

    I think to archive this requires two steps: 1) adjust the DSP memory map to fit into the EZSDK memory map, and 2) configure the DSP shared regions  that matches the config used by the EZSDK. If your DSP requires additional shared regions, you must use regions which are currently not used by the EZSDK.

    The EZSDK Memory Map page gives details about the memory map and the shared regions. In particular, Section 6.7 DSP for OMX talks about the modifying the DSP memory map.

    Best Regards,

    Margarita

  • Thank you for the reply. I will check this and will get back with the details.

    Thanks and regards,

    Lijo Jose

     

  • The approaches mentioned in the discussion http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/149505.aspx helped me in resolving the issue.

    Thanks and regards,

    Lijo