Hi,
I am trying to create a use case where I connect two sensors to the DM385 using IPNC RDK. One sensor is parallel and the other is MIPI.
I've modified the low power tri-streaming use case and added another VIP Instance to the camera link:
cameraPrm.numVipInst = 2
Second stream was defined as follows:
pCameraInstPrm = &cameraPrm.vipInst[1]; pCameraInstPrm->vipInstId = 1; pCameraInstPrm->videoDecoderId = MultiCh_getSensorId(gUI_mcfw_config.sensorId); pCameraInstPrm->inDataFormat = SYSTEM_DF_YUV420SP_UV; pCameraInstPrm->sensorOutWidth = 1920; pCameraInstPrm->sensorOutHeight = 1080; pCameraInstPrm->standard = SYSTEM_STD_1080P_30; pCameraInstPrm->numOutput = 1; /* Second stream */ pCameraOutPrm = &pCameraInstPrm->outParams[1]; pCameraOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; pCameraOutPrm->scEnable = FALSE; /* When VS is enabled then scOutWidth/scOutHeight cannot be equal to sensorOutWidth/sensorOutHeight */ if(cameraPrm.vsEnable == 0) { pCameraOutPrm->scOutWidth = 1920; pCameraOutPrm->scOutHeight = 1080; } else { pCameraOutPrm->scOutWidth = 1600; pCameraOutPrm->scOutHeight = 900; } pCameraOutPrm->outQueId = 1;
Basically, the use case looks like this:
SENSOR SENSOR ________||____________||______ | | | CAMERA LINK | |___________________________| | | | | | | | | | | | | MERGE---------------| | | | IPCM3OUT(VPS) | | IPCM3IN(VID) | | H264ENC | | BITSOUT (VID) | | BITSIN (A8)
I've also made some modifications to cameraLink_drv to support creating a sensor handle for every VIP instance.
During runtime, usecase setup seems to work fine as well as camera link initialization and capture driver initialization. However, shortly after, there is an exception in m3vpss. I've traced the exception's source using the registers R13-R15 and the m3vpss .map file and found that the error is a usage error in ti_sysbios_knl_Task_exit__E
[m3vpss ] Unhandled Exception:
[m3vpss ] Exception occurred in ThreadType_Task
[m3vpss ] handle: 0x8e58e938.
[m3vpss ] stack base: 0x8eda3320.
[m3vpss ] stack size: 0x4000.
[m3vpss ] R0 = 0x00000001 R8 = 0x00000000
[m3vpss ] R1 = 0x8e58e938 R9 = 0x00000000
[m3vpss ] R2 = 0x00000002 R10 = 0x8e584a40
[m3vpss ] R3 = 0x8de68a15 R11 = 0xffffffff
[m3vpss ] R4 = 0xbebebebe R12 = 0x8ee27598
[m3vpss ] R5 = 0x00000000 SP(R13) = 0x8eda7338
[m3vpss ] R6 = 0x00000000 LR(R14) = 0x8de3c525
[m3vpss ] R7 = 0x00000000 PC(R15) = 0x00000000
[m3vpss ] PSR = 0x20000000
[m3vpss ] ICSR = 0x0440f803
[m3vpss ] MMFSR = 0x00
[m3vpss ] BFSR = 0x00
[m3vpss ] UFSR = 0x0002
[m3vpss ] HFSR = 0x40000000
[m3vpss ] DFSR = 0x00000000
[m3vpss ] MMAR = 0xe000ed34
[m3vpss ] BFAR = 0xe000ed38
[m3vpss ] AFSR = 0x00000000
[m3vpss ] Terminating Execution...
I have added numerous debug prints in various places and so far I can't find any lead about where to find the cause of this problem. I've also tried using a similar usecase where there is a null link right after the second camera output and experienced the same problems (although the exception happened in Utils_mbxSendMsg this time).
Can anyone share some knowledge about this issue? Any support from TI regarding this issue?
Thanks,
Eli