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.

LAD problem

I’m planning to use two different ARM applications, both using the DSP. I’m following http://processors.wiki.ti.com/index.php/Link_Arbiter_Daemon to try to use LAD. I have the fist fully functional application and I converted it to use LAD. The problem is that it hangs on startup. I spent a few days trying to troubleshoot it, but ran out of ideas.

 

Here are the last lines of the app with CE_DEBUG=3

 

@17,716,320us: [+0 T:0x4358db60 S:0x4358d434] CE - Engine_open> Enter('aecodecs', 0x0, 0x4358d47c)

@17,716,539us: [+0 T:0x4358db60 S:0x4358d41c] OM - Memory_alloc> Enter(0x2c)

@18,272,025us: [+0 T:0x4358db60 S:0x4358d41c] OM - Memory_alloc> return (0x172218)

@18,272,260us: [+0 T:0x4358db60 S:0x4358d434] CE - rserverOpen('all.x64P'), count = 2

@18,272,460us: [+0 T:0x4358db60 S:0x4358d434] CE - rserverOpen('all.x64P'): 0x1635c0 done.

@18,272,659us: [+0 T:0x4358db60 S:0x4358d41c] OM - Memory_alloc> Enter(0x1c)

@18,272,850us: [+0 T:0x4358db60 S:0x4358d41c] OM - Memory_alloc> return (0x172248)

@18,273,063us: [+0 T:0x4358db60 S:0x4358d40c] OC - Comm_create> Enter(queueName='aecodecs_2', queue=0x172228, attrs=0x0)

@18,273,286us: [+0 T:0x4358db60 S:0x4358d3f4] OM - Memory_alloc> Enter(0x4)

@18,273,474us: [+0 T:0x4358db60 S:0x4358d3f4] OM - Memory_alloc> return (0x172268)

@18,274,046us: [+0 T:0x4358db60 S:0x4358d40c] OC - Comm_create> return (0x172268)

@18,274,294us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_free> Enter(0x172248, 0x1c)

@18,274,508us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_free> return (0x1)

@18,274,690us: [+0 T:0x4358db60 S:0x4358d414] OC - Comm_alloc> Enter(poolId=0x0, msg=0x172234, size=576)

@18,274,931us: [+0 T:0x4358db60 S:0x4358d414] OC - Comm_alloc> msg=0x465c1c80, returning (0)

@18,275,134us: [+0 T:0x4358db60 S:0x4358d3f4] OC - Comm_locate> Enter(queueName='rmsq', queue=0x172224)

 

And the log from lad:

 

Initializing LAD...

    running LAD config inits...

    opening FIFO: /tmp/LAD/LADCMDS

 

LAD_CONNECT:

    client FIFO name = /tmp/LAD/1179

    client PID = 1179

    assigned client handle = 0

    FIFO /tmp/LAD/1179 created

    FIFO /tmp/LAD/1179 opened for writing

    sent response 0;0;

DONE

 

LAD_STARTUPDSP:

    cpuId = 0

    configName = CE_default

    imageName = all.x64P

    absolute server path = /opt/ae/all.x64P

    client handle = 0

    linkConfigId = 1

    PROC_setup - OK

    PROC_Attach - OK

    PROC_Load - OK

    POOL_Open - OK

    PROC_Start - OK

    MSGQ_TransportOpen - OK

    LAD_SUCCESS

    sent response string 0

DONE

 

I would appreciate any help.

  • Can you provide the full CE_DEBUG=3 log?

    Your CE_DEBUG log indicates that this is the 3rd time calling Engine_open() for this particular server from the same process, based on the entry

    Victor Gottardi said:
    @18,272,260us: [+0 T:0x4358db60 S:0x4358d434] CE - rserverOpen('all.x64P'), count = 2

    where the "count" is the static reference count.  Is that what you expected?

    The LAD log shows that only one process has attempted to connect to it, so I assume that you're trying just the first of your two different ARM applications.

    I would suggest hooking up CCS to the DSP and try to determine where your DSP server is executing.  I would gues that the DSP has somehow crashed or halted.

    Regards,

    - Rob

  • Rob,

    You're right, this trace is for the third call. The first two are quite similar.

    There's just one process for now. The same process is fully functional with the "osalGlobal.useLinkArbiter = true;" line commented out in the cfg file.

    I attached CCS4 and the DSP is peacefully running the idle function. In fact, we recently added THRLOAD and I can now set breakpoints and step through the THRLOAD_idleFxn().

    I also tried the LAD example provided in the DVSDK and it ran with no problems.

    The full log follows. Thanks,

    Victor

    @1,131,481us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xacc14)

    @1,131,608us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xac0ac)

    @1,131,783us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> Enter(0x18)

    @1,131,902us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> return (0x1ddfb0)

    @1,132,214us: [+0 T:0x40018f70 S:0xbefff93c] OG - Global_atexit> enter (fxn=0xaa994)

    @1,132,396us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> Enter(0x18)

    @1,132,544us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> return (0x1de000)

    @1,132,662us: [+0 T:0x40018f70 S:0xbefff93c] OG - Global_atexit> enter (fxn=0xa85e0)

    @1,132,813us: [+0 T:0x40018f70 S:0xbefff944] OG - Global_atexit> enter (fxn=0xab730)

    @1,132,991us: [+0 T:0x40018f70 S:0xbefff92c] ti.sdo.ce.osal.Sem - Sem_create> count: 0

    @1,133,111us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> Enter(0x14)

    @1,133,219us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> return (0x1de080)

    @1,133,324us: [+0 T:0x40018f70 S:0xbefff92c] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x1de080]

    @1,133,520us: [+0 T:0x40018f70 S:0xbefff92c] ti.sdo.ce.osal.Sem - Sem_create> count: 0

    @1,133,655us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> Enter(0x14)

    @1,133,769us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> return (0x1de098)

    @1,133,875us: [+0 T:0x40018f70 S:0xbefff92c] ti.sdo.ce.osal.Sem - Leaving Sem_create> sem[0x1de098]

    @1,467,516us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> Enter(0x18)

    @1,467,653us: [+0 T:0x40018f70 S:0xbefff914] OM - Memory_alloc> return (0x1de0b0)

    @1,467,767us: [+0 T:0x40018f70 S:0xbefff914] OT - Thread_create> Enter (fxn=0xa7720, attrs=0x0)

    @1,467,882us: [+0 T:0x40018f70 S:0xbefff8fc] OM - Memory_alloc> Enter(0x64)

    @1,467,985us: [+0 T:0x40018f70 S:0xbefff8fc] OM - Memory_alloc> return (0x1de0d0)

    @1,468,471us: [+0 T:0x40018f70 S:0xbefff914] OT - Thread_create> Exit (task=0x1de0d0)

    @1,468,613us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xa72e0)

    @1,468,746us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xa93d4)

    @1,468,912us: [+0 T:0x40018f70 S:0xbefff934] ti.sdo.ce.alg - ALG_init> Enter

    @1,469,025us: [+0 T:0x40018f70 S:0xbefff924] OG - Global_atexit> enter (fxn=0xad5dc)

    @1,469,138us: [+0 T:0x40018f70 S:0xbefff954] ti.sdo.ce.alg - ALG_init> Exit

    @1,469,238us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xad07c)

    @1,469,356us: [+0 T:0x40018f70 S:0xbefff924] OM - Memory_alloc> Enter(0x18)

    @1,469,467us: [+0 T:0x40018f70 S:0xbefff924] OM - Memory_alloc> return (0x1de268)

    @1,469,574us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xab894)

    @1,469,755us: [+6 T:0x40018f70 S:0xbefff94c] CE - Engine_init> CE debugging on (CE_DEBUG=3; allowed CE_DEBUG levels: 1=min, 2=good, 3=max)

    @1,469,901us: [+0 T:0x40018f70 S:0xbefff93c] OG - Global_atexit> enter (fxn=0xa4320)

    @1,470,012us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> Enter(0x18)

    @1,470,124us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> return (0x1de2a8)

    @1,470,251us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> Enter(0x18)

    @1,470,361us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> return (0x1de2c8)

    @1,470,466us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> Enter(0x18)

    @1,470,570us: [+0 T:0x40018f70 S:0xbefff91c] OM - Memory_alloc> return (0x1de2e8)

    @1,470,717us: [+0 T:0x40018f70 S:0xbefff94c] CS - Server_init()

    @1,470,818us: [+0 T:0x40018f70 S:0xbefff94c] CS - Server_init> Global_useLinkArbiter = 1

    @1,470,925us: [+0 T:0x40018f70 S:0xbefff94c] OG - Global_atexit> enter (fxn=0xa2e70)

    @1,471,119us: [+0 T:0x40018f70 S:0xbefff95c] OG - Global_atexit> enter (fxn=0x987c0)

    @1,471,271us: [+2 T:0x40018f70 S:0xbefff96c] ZZ - main> Welcome to 'iDavinciInit'.


    @1,473,770us: [+1 T:0x40c2eb60 S:0x40c2e52c] OP - daemon> thread created.

    @1,473,937us: [+0 T:0x40c2eb60 S:0x40c2e52c] OP - getCmd_d> Enter (proc=0x40c2e5a4)

    @1,474,055us: [+0 T:0x40c2eb60 S:0x40c2e50c] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x1de080] timeout[0xffffffff]

     ae_davinci_start: board 0, IF = 1de540

    @1,474,762us: [+0 T:0x41c2eb60 S:0x41c2e4ec] OM - Memory_contigAlloc> Enter(size=1048576, align=128, cached=FALSE, heap=FALSE)

    @1,474,955us: [+6 T:0x41c2eb60 S:0x41c2e4ec] OM - Memory_contigAlloc> Warning: non-default alignment not supported for pool-based allocations, using default 0xffffffff.

    @1,475,283us: [+4 T:0x41c2eb60 S:0x41c2e4ec] OM - Memory_contigAlloc> CMEM_alloc(1048576) = 0x41c2f000.

    @1,475,442us: [+4 T:0x41c2eb60 S:0x41c2e4ec] OM - Memory_contigAlloc> CMEM_getPhys(0x41c2f000) = 0x893aa000.

    @1,475,572us: [+1 T:0x41c2eb60 S:0x41c2e494] OM - Memory__addContigBuf> Enter(virtAddr=0x41c2f000, size=1048576, physAddr=0x893aa000)

    @1,475,708us: [+1 T:0x41c2eb60 S:0x41c2e494] OM - Memory__addContigBuf> creating new contigBuf object

    @1,475,839us: [+0 T:0x41c2eb60 S:0x41c2e47c] OM - Memory_alloc> Enter(0x10)

    @1,475,951us: [+0 T:0x41c2eb60 S:0x41c2e47c] OM - Memory_alloc> return (0x1de8d8)

    @1,476,058us: [+1 T:0x41c2eb60 S:0x41c2e494] OM - Memory__addContigBuf> returning: cb->phys=0x893aa000, cb->size=1048576, cb->virt=0x41c2f000

    @1,476,198us: [+0 T:0x41c2eb60 S:0x41c2e4ec] OM - Memory_contigAlloc> return (0x41c2f000)

    @1,476,339us: [+0 T:0x41c2eb60 S:0x41c2e4cc] CE - Engine_open> Enter('aecodecs', 0x0, 0x41c2e514)

    @1,811,221us: [+0 T:0x41c2eb60 S:0x41c2e4b4] OM - Memory_alloc> Enter(0x2c)

    @1,811,358us: [+0 T:0x41c2eb60 S:0x41c2e4b4] OM - Memory_alloc> return (0x1df7a0)

    @1,811,473us: [+0 T:0x41c2eb60 S:0x41c2e4cc] CE - rserverOpen('all.x64P'), count = 0

    @1,811,582us: [+0 T:0x41c2eb60 S:0x41c2e494] OP - Processor_create> Enter(imageName='all.x64P', linkCfg='CE_default', attrs=0x41c2e518)

    @1,811,717us: [+0 T:0x41c2eb60 S:0x41c2e47c] OM - Memory_alloc> Enter(0x24)

    @1,811,824us: [+0 T:0x41c2eb60 S:0x41c2e47c] OM - Memory_alloc> return (0x1df7d0)

    @1,811,931us: [+0 T:0x41c2eb60 S:0x41c2e474] OP - doCmd> Enter (cmdId=1, proc=0x1df7d0)

    @1,812,040us: [+0 T:0x41c2eb60 S:0x41c2e464] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x1de080]

    @1,812,198us: [+0 T:0x41c2eb60 S:0x41c2e474] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x1de080]

    @1,812,327us: [+0 T:0x41c2eb60 S:0x41c2e454] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x1de098] timeout[0xffffffff]

    @1,812,505us: [+0 T:0x4358db60 S:0x4358d474] OG - Global_atexit> enter (fxn=0xab894)

    @1,813,134us: [+0 T:0x40c2eb60 S:0x40c2e50c] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x1de080] status[0]

    @1,813,293us: [+0 T:0x40c2eb60 S:0x40c2e52c] OP - getCmd_d> Exit (result=1)

    @1,813,407us: [+0 T:0x40c2eb60 S:0x40c2e52c] OP - Processor_create_d> Enter(proc=0x1df7d0)

    @1,844,685us: [+2 T:0x40c2eb60 S:0x40c2e52c] OP - Processor_create_d> LAD_connect status = 0, handle = 0

    @1,844,859us: [+2 T:0x40c2eb60 S:0x40c2e52c] OP - Processor_create_d> Loading all.x64P on DSP, linkConfigName= CE_default ...

    @2,032,551us: [+2 T:0x40c2eb60 S:0x40c2e52c] OP - Processor_create_d> LAD_startupDsp status = 0

    @2,036,107us: [+2 T:0x40c2eb60 S:0x40c2e52c] OP - Processor_create_d> return (1)

    @2,036,254us: [+0 T:0x40c2eb60 S:0x40c2e51c] ti.sdo.ce.osal.Sem - Entered Sem_post> sem[0x1de098]

    @2,036,410us: [+0 T:0x41c2eb60 S:0x41c2e454] ti.sdo.ce.osal.Sem - Leaving Sem_pend> sem[0x1de098] status[0]

    @2,036,547us: [+0 T:0x41c2eb60 S:0x41c2e474] OP - doCmd> Exit (result=1)

    @2,036,653us: [+0 T:0x41c2eb60 S:0x41c2e494] OP - Processor_create> return (0x1df7d0)

    @2,036,762us: [+0 T:0x41c2eb60 S:0x41c2e4cc] CE - rserverOpen('all.x64P'): 0x1d6754 done.

    @2,036,877us: [+0 T:0x41c2eb60 S:0x41c2e4b4] OM - Memory_alloc> Enter(0x1c)

    @2,036,990us: [+0 T:0x41c2eb60 S:0x41c2e4b4] OM - Memory_alloc> return (0x1dfbd8)

    @2,037,110us: [+0 T:0x41c2eb60 S:0x41c2e4a4] OC - Comm_create> Enter(queueName='aecodecs_0', queue=0x1df7b0, attrs=0x0)

    @2,037,237us: [+0 T:0x41c2eb60 S:0x41c2e48c] OM - Memory_alloc> Enter(0x4)

    @2,037,343us: [+0 T:0x41c2eb60 S:0x41c2e48c] OM - Memory_alloc> return (0x1dfbf8)

    @2,037,716us: [+0 T:0x41c2eb60 S:0x41c2e4a4] OC - Comm_create> return (0x1dfbf8)

    @2,037,862us: [+0 T:0x41c2eb60 S:0x41c2e4a4] OM - Memory_free> Enter(0x1dfbd8, 0x1c)

    @2,038,032us: [+0 T:0x41c2eb60 S:0x41c2e4a4] OM - Memory_free> return (0x1)

    @2,038,153us: [+0 T:0x41c2eb60 S:0x41c2e4ac] OC - Comm_alloc> Enter(poolId=0x0, msg=0x1df7bc, size=576)

    @2,038,300us: [+0 T:0x41c2eb60 S:0x41c2e4ac] OC - Comm_alloc> msg=0x43d9ec80, returning (0)

    @2,038,423us: [+0 T:0x41c2eb60 S:0x41c2e48c] OC - Comm_locate> Enter(queueName='rmsq', queue=0x1df7ac)

    @2,038,659us: [+0 T:0x40c2eb60 S:0x40c2e52c] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x1de098]

    @2,038,834us: [+0 T:0x40c2eb60 S:0x40c2e52c] OP - getCmd_d> Enter (proc=0x40c2e5a4)

    @2,038,953us: [+0 T:0x40c2eb60 S:0x40c2e50c] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x1de080] timeout[0xffffffff]

    root@164.178.12.199:/opt/ae#

    root@164.178.12.199:/opt/ae# @4,709,843us: [+0 T:0x4460db60 S:0x4460d474] OG - Global_atexit> enter (fxn=0xab894)

    @6,736,191us: [+2 T:0x4358db60 S:0x4358d3f4] ti.sdo.dmai - [Capture] Capture input set to COMPOSITE

    @7,653,284us: [+0 T:0x44e0db60 S:0x44e0d474] OG - Global_atexit> enter (fxn=0xab894)

    @10,079,014us: [+7 T:0x4460db60 S:0x4460d3f4] ti.sdo.dmai - [Capture] Failed GET_INPUT. No inputs connected?

    Failed to detect capture video standard

    @10,661,146us: [+0 T:0x4460db60 S:0x4460d474] OG - Global_atexit> enter (fxn=0xab894)

    @10,777,847us: [+7 T:0x44e0db60 S:0x44e0d3f4] ti.sdo.dmai - [Capture] Cannot open /dev/video2 (Invalid argument)

    Failed to detect capture video standard

    @10,778,400us: [+7 T:0x4460db60 S:0x4460d3f4] ti.sdo.dmai - [Capture] Cannot open /dev/video3 (Invalid argument)

    Failed to detect capture video standard

    @13,223,853us: [+2 T:0x4358db60 S:0x4358d224] ti.sdo.dmai - [Capture] Capture input set to COMPOSITE

    @13,241,451us: [+2 T:0x4358db60 S:0x4358d2c4] ti.sdo.dmai - [Capture] Video input connected size 720x480 pitch 720

    @13,309,241us: [+2 T:0x4358db60 S:0x4358d114] ti.sdo.dmai - [BufTab] Allocating BufTab for 3 buffers

    @13,667,283us: [+0 T:0x4142eb60 S:0x4142d9e4] OM - Memory_contigAlloc> Enter(size=4096, align=128, cached=FALSE, heap=FALSE)

    @13,667,464us: [+6 T:0x4142eb60 S:0x4142d9e4] OM - Memory_contigAlloc> Warning: non-default alignment not supported for pool-based allocations, using default 0xffffffff.

    @13,667,685us: [+4 T:0x4142eb60 S:0x4142d9e4] OM - Memory_contigAlloc> CMEM_alloc(4096) = 0x45203000.

    @13,667,861us: [+4 T:0x4142eb60 S:0x4142d9e4] OM - Memory_contigAlloc> CMEM_getPhys(0x45203000) = 0x8804e000.

    @13,667,990us: [+1 T:0x4142eb60 S:0x4142d98c] OM - Memory__addContigBuf> Enter(virtAddr=0x45203000, size=4096, physAddr=0x8804e000)

    @13,668,124us: [+1 T:0x4142eb60 S:0x4142d98c] OM - Memory__addContigBuf> creating new contigBuf object

    @13,668,234us: [+0 T:0x4142eb60 S:0x4142d974] OM - Memory_alloc> Enter(0x10)

    @13,668,371us: [+0 T:0x4142eb60 S:0x4142d974] OM - Memory_alloc> return (0x1e0000)

    @13,668,490us: [+1 T:0x4142eb60 S:0x4142d98c] OM - Memory__addContigBuf> returning: cb->phys=0x8804e000, cb->size=4096, cb->virt=0x45203000

    @13,668,626us: [+0 T:0x4142eb60 S:0x4142d9e4] OM - Memory_contigAlloc> return (0x45203000)

    @13,668,735us: [+0 T:0x4142eb60 S:0x4142d9c4] CE - Engine_open> Enter('aecodecs', 0x0, 0x4142da0c)

    @13,668,851us: [+0 T:0x4142eb60 S:0x4142d9ac] OM - Memory_alloc> Enter(0x2c)

    @13,668,956us: [+0 T:0x4142eb60 S:0x4142d9ac] OM - Memory_alloc> return (0x1e0018)

    @13,669,064us: [+0 T:0x4142eb60 S:0x4142d9c4] CE - rserverOpen('all.x64P'), count = 1

    @13,669,172us: [+0 T:0x4142eb60 S:0x4142d9c4] CE - rserverOpen('all.x64P'): 0x1d6754 done.

    @13,669,282us: [+0 T:0x4142eb60 S:0x4142d9ac] OM - Memory_alloc> Enter(0x1c)

    @13,669,388us: [+0 T:0x4142eb60 S:0x4142d9ac] OM - Memory_alloc> return (0x1e0048)

    @13,669,506us: [+0 T:0x4142eb60 S:0x4142d99c] OC - Comm_create> Enter(queueName='aecodecs_1', queue=0x1e0028, attrs=0x0)

    @13,669,632us: [+0 T:0x4142eb60 S:0x4142d984] OM - Memory_alloc> Enter(0x4)

    @13,669,737us: [+0 T:0x4142eb60 S:0x4142d984] OM - Memory_alloc> return (0x1e0068)

    @13,670,078us: [+0 T:0x4142eb60 S:0x4142d99c] OC - Comm_create> return (0x1e0068)

    @13,670,220us: [+0 T:0x4142eb60 S:0x4142d99c] OM - Memory_free> Enter(0x1e0048, 0x1c)

    @13,670,338us: [+0 T:0x4142eb60 S:0x4142d99c] OM - Memory_free> return (0x1)

    @13,670,441us: [+0 T:0x4142eb60 S:0x4142d9a4] OC - Comm_alloc> Enter(poolId=0x0, msg=0x1e0034, size=576)

    @13,670,605us: [+0 T:0x4142eb60 S:0x4142d9a4] OC - Comm_alloc> msg=0x43d9fc80, returning (0)

    @13,670,727us: [+0 T:0x4142eb60 S:0x4142d984] OC - Comm_locate> Enter(queueName='rmsq', queue=0x1e0024)

    @14,016,679us: [+2 T:0x4358db60 S:0x4358d164] ti.sdo.dmai - [Dmai] Driver buffer 0 mapped to 0x44e0e000 has physical address 0x87400000

    @14,438,016us: [+2 T:0x4358db60 S:0x4358d164] ti.sdo.dmai - [Dmai] Driver buffer 1 mapped to 0x45212000 has physical address 0x80800000

    @14,626,311us: [+2 T:0x4358db60 S:0x4358d164] ti.sdo.dmai - [Dmai] Driver buffer 2 mapped to 0x45607000 has physical address 0x80c00000

    Opened /dev/video0

    @14,626,933us: [+0 T:0x4358db60 S:0x4358d44c] OM - Memory_alloc> Enter(0x25800)

    @14,627,070us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> Enter(size=153600, align=-1, cached=FALSE, heap=FALSE)

    @14,627,314us: [+4 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> CMEM_alloc(153600) = 0x459fc000.

    @14,627,468us: [+4 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> CMEM_getPhys(0x459fc000) = 0x886b1000.

    @14,627,596us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> Enter(virtAddr=0x459fc000, size=153600, physAddr=0x886b1000)

    @14,627,731us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> creating new contigBuf object

    @14,627,839us: [+0 T:0x4358db60 S:0x4358d38c] OM - Memory_alloc> Enter(0x10)

    @14,627,946us: [+0 T:0x4358db60 S:0x4358d38c] OM - Memory_alloc> return (0x1e00f8)

    @14,628,048us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> returning: cb->phys=0x886b1000, cb->size=153600, cb->virt=0x459fc000

    @14,628,184us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> return (0x459fc000)

    @14,628,291us: [+0 T:0x4358db60 S:0x4358d44c] OM - Memory_alloc> return (0x459fc000)

    @14,628,394us: [+0 T:0x4358db60 S:0x4358d424] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x459fc000, size=4)

    @14,628,514us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x459fc000, size=4)

    @14,628,631us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> found in cb(Sc=0x459fc000, Ec=0x45a21800, Ss=0x459fc000, Es=0x459fc004, PSc=0x886b1000)

    @14,628,778us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> returning physAddr=0x886b1000

    @14,628,889us: [+0 T:0x4358db60 S:0x4358d424] OM - Memory_getBufferPhysicalAddress> return (0x886b1000)

    @14,629,000us: [+2 T:0x4358db60 S:0x4358d464] ti.sdo.dmai - [Buffer] Alloc Buffer of size 153600 at 0x459fc000 (0x886b1000 phys)

    @14,629,140us: [+2 T:0x4358db60 S:0x4358d37c] ti.sdo.dmai - [Resize] Configuring resize from 704x480 (pitch 720) to 320x240 (pitch 320)

    @14,629,324us: [+0 T:0x4358db60 S:0x4358d44c] OM - Memory_alloc> Enter(0x1c200)

    @14,629,443us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> Enter(size=115200, align=-1, cached=FALSE, heap=FALSE)

    @14,629,686us: [+4 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> CMEM_alloc(115200) = 0x45a9e000.

    @14,629,840us: [+4 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> CMEM_getPhys(0x45a9e000) = 0x8860f000.

    @14,629,968us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> Enter(virtAddr=0x45a9e000, size=115200, physAddr=0x8860f000)

    @14,630,102us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> creating new contigBuf object

    @14,630,212us: [+0 T:0x4358db60 S:0x4358d38c] OM - Memory_alloc> Enter(0x10)

    @14,630,318us: [+0 T:0x4358db60 S:0x4358d38c] OM - Memory_alloc> return (0x1e0180)

    @14,630,422us: [+1 T:0x4358db60 S:0x4358d3a4] OM - Memory__addContigBuf> returning: cb->phys=0x8860f000, cb->size=115200, cb->virt=0x45a9e000

    @14,630,554us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_contigAlloc> return (0x45a9e000)

    @14,630,660us: [+0 T:0x4358db60 S:0x4358d44c] OM - Memory_alloc> return (0x45a9e000)

    @14,630,763us: [+0 T:0x4358db60 S:0x4358d424] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x45a9e000, size=4)

    @14,630,883us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x45a9e000, size=4)

    @14,631,000us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> found in cb(Sc=0x45a9e000, Ec=0x45aba200, Ss=0x45a9e000, Es=0x45a9e004, PSc=0x8860f000)

    @14,631,150us: [+1 T:0x4358db60 S:0x4358d424] OM - Memory__getPhysicalAddress> returning physAddr=0x8860f000

    @14,631,262us: [+0 T:0x4358db60 S:0x4358d424] OM - Memory_getBufferPhysicalAddress> return (0x8860f000)

    @14,631,372us: [+2 T:0x4358db60 S:0x4358d464] ti.sdo.dmai - [Buffer] Alloc Buffer of size 115200 at 0x45a9e000 (0x8860f000 phys)

    @14,631,538us: [+0 T:0x4358db60 S:0x4358d424] CE - Engine_open> Enter('aecodecs', 0x0, 0x4358d46c)

    @14,964,969us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_alloc> Enter(0x2c)

    @14,965,105us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_alloc> return (0x1e0198)

    @14,965,217us: [+0 T:0x4358db60 S:0x4358d424] CE - rserverOpen('all.x64P'), count = 2

    @14,965,328us: [+0 T:0x4358db60 S:0x4358d424] CE - rserverOpen('all.x64P'): 0x1d6754 done.

    @14,965,439us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_alloc> Enter(0x1c)

    @14,965,543us: [+0 T:0x4358db60 S:0x4358d40c] OM - Memory_alloc> return (0x1e01c8)

    @14,965,660us: [+0 T:0x4358db60 S:0x4358d3fc] OC - Comm_create> Enter(queueName='aecodecs_2', queue=0x1e01a8, attrs=0x0)

    @14,965,787us: [+0 T:0x4358db60 S:0x4358d3e4] OM - Memory_alloc> Enter(0x4)

    @14,965,891us: [+0 T:0x4358db60 S:0x4358d3e4] OM - Memory_alloc> return (0x1e01e8)

    @14,966,239us: [+0 T:0x4358db60 S:0x4358d3fc] OC - Comm_create> return (0x1e01e8)

    @14,966,381us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_free> Enter(0x1e01c8, 0x1c)

    @14,966,499us: [+0 T:0x4358db60 S:0x4358d3fc] OM - Memory_free> return (0x1)

    @14,966,657us: [+0 T:0x4358db60 S:0x4358d404] OC - Comm_alloc> Enter(poolId=0x0, msg=0x1e01b4, size=576)

    @14,966,806us: [+0 T:0x4358db60 S:0x4358d404] OC - Comm_alloc> msg=0x43da0c80, returning (0)

    @14,966,927us: [+0 T:0x4358db60 S:0x4358d3e4] OC - Comm_locate> Enter(queueName='rmsq', queue=0x1e01a4)

  • I found the problem. The linkCfg setting is not well documented and I'm not sure what it really does. I got it to work after setting it to CE_default6467. It used to be CE_default as per the documentation. It sounds that this can break again if I stray from the default CE configuration.

    myEngine.linkCfg= "CE_default6467";

    Regards,

    Victor

  • That's great to hear, I'm glad you were able to figure it out.

    This explains why it was working without LAD, since in that case the DSPLink config is dynamically generated based on your server's memory map.

    When using LAD, the DSPLink config is hard-coded and there are a few different configs from which to choose.  It's difficult to realize what config is being used based on just a name, but FYI, the name-to-config translation is done by a function/data in ladconfig.c.  For "CE_default" the C files starting with "user1" are used for the DSPLink config, and for "CE_default6467" the C files starting with "user2" are used.  If you look in those files you can see that the memory map in the "user2_linkcfg.c" matches with the memory map defined for the example "all_codecs" server (in ti/sdo/ce/examples/servers/all_codecs/all_evmDM6467.tci), whereas the memory map in "user1_linkcfg.c" (the one that you get with "CE_default") does not match the "all_evmDM6467.tci" one.

    I suspected that your issue might be due to a memory map mismatch between the DSP executable and the DSPLink config, but in such a case I would expect the PROC_Load() in LAD would fail, and based on your LAD log in your initial post, the PROC_Load() succeeded.  I don't know why it didn't fail for that config.

    The DSPLink configs in LAD are meant to be edited by the user to fit their needs, but that point is not stressed on the LAD wiki that you referenced (although it is mentioned briefly).  Unfortunately, LAD is used very little in the field and technically is not part of Codec Engine, so it doesn't get the same attention as CE when it comes to giving the customer a good out-of-box experience.

    Regards,

    - Rob