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.
请问下大家:mcfw下链路为:
cap -> dei -> merge -.> vpssout -> hostin -> hostout (process link) -> frame in dsp ->dsp alg -> swms ->dis
这样有没有问题:
mergePrm.inQueParams[0].prevLinkId = gVcapModuleContext.deiId[0];
mergePrm.inQueParams[0].prevLinkQueId = DEI_LINK_OUT_QUE_DEI_SC;
mergePrm.notifyNextLink = TRUE;
mergePrm.numInQue = 1;
mergePrm.outQueParams.nextLink = gVcapModuleContext.ipcFramesOutVpssId[0];
ipcOutVpssPrm.baseCreateParams.noNotifyMode = FALSE;
ipcOutVpssPrm.baseCreateParams.notifyNextLink = TRUE;
ipcOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE;
ipcOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = VPSS_LINK_ID_MERGE;
ipcOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
ipcOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = gVcapModuleContext.ipcFramesInHostId;
hostInPrm.baseCreateParams.noNotifyMode = FALSE;
hostInPrm.baseCreateParams.notifyNextLink = TRUE;
hostInPrm.baseCreateParams.notifyPrevLink = TRUE;
//hostInPrm.baseCreateParams.notifyProcessLink = TRUE;
hostInPrm.baseCreateParams.inQueParams.prevLinkId = gVcapModuleContext.ipcFramesOutVpssId[0];
hostInPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
hostInPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesOutHostId;
hostInPrm.cbCtx = NULL;
hostInPrm.cbFxn = save_frames1;
hostOutPrm.baseCreateParams.inQueParams.prevLinkId = gVcapModuleContext.ipcFramesInHostId;
hostOutPrm.baseCreateParams.inQueParams.prevLinkQueId = DEI_LINK_OUT_QUE_DEI_SC;
hostOutPrm.baseCreateParams.noNotifyMode = FALSE;
hostOutPrm.baseCreateParams.notifyPrevLink = TRUE;
hostOutPrm.baseCreateParams.notifyNextLink = TRUE;
hostOutPrm.baseCreateParams.numOutQue = 1;
hostOutPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.swMsId[0];
hostOutPrm.baseCreateParams.processLink = DSP_LINK_ID_IPC_FRAME_IN;
hostOutPrm.baseCreateParams.notifyProcessLink = TRUE;
ipcFramesInDspPrms.baseCreateParams.noNotifyMode = FALSE;
ipcFramesInDspPrms.baseCreateParams.notifyPrevLink = FALSE;
ipcFramesInDspPrms.baseCreateParams.notifyNextLink = TRUE;
ipcFramesInDspPrms.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId;
ipcFramesInDspPrms.baseCreateParams.inQueParams.prevLinkQueId = 0;
ipcFramesInDspPrms.baseCreateParams.numOutQue = 1;
ipcFramesInDspPrms.baseCreateParams.outQueParams[0].nextLink = DSP_LINK_ID_APP;
/* DSP App link */
appPrms.numInQue = 1;
appPrms.inQueParams.prevLinkId = DSP_LINK_ID_IPC_FRAME_IN;
appPrms.inQueParams.prevLinkQueId = 0;
/* Mosaic link init */
swmsPrms.numSwMsInst = 1;
swmsPrms.swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI;
swmsPrms.includeVipScInDrvPath = TRUE;
swmsPrms.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId;
swmsPrms.inQueParams.prevLinkQueId = 0;
swmsPrms.outQueParams.nextLink = gVdisModuleContext.displayId[0];
swmsPrms.maxInputQueLen = 4;
swmsPrms.maxOutRes = VSYS_STD_1080P_60;
swmsPrms.initOutRes = gVdisModuleContext.vdisConfig.deviceParams[0].resolution;
swmsPrms.numOutBuf = 8;
swmsPrms.lineSkipMode = FALSE;
swmsPrms.enableLayoutGridDraw = gVdisModuleContext.vdisConfig.enableLayoutGridDraw;
MultiCh_swMsGetDefaultLayoutPrm(VDIS_DEV_HDMI, &swmsPrms, TRUE);
/* Display link init */
disPrms.inQueParams[0].prevLinkId = gVdisModuleContext.swMsId[0];
disPrms.inQueParams[0].prevLinkQueId = 0;
disPrms.displayRes = swmsPrms.initOutRes;
发现链路不通:
[host] 454: IPC_FRAMES_IN : Create Done !!!
[HOST]
ThreadName:IpcFramesOutLink_tskMain_30000013,ThreadID:1567
[host] 455: IPC_FRAMES_OUT : Create in progress !!!
[host] 456: IPC_FRAMES_OUT : Create Done !!!
[HOST]
ThreadName:IpcFramesOutLink_periodicTaskFxn_30000013,ThreadID:1572
[c6xdsp ] 6627: IPC_FRAMES_IN : Create in progress !!!
[c6xdsp ] 6627: SYSTEM: Opening ListMP [HOST_IPC_OUT_19] ...
[m3vpss ] DEI:HEAPID:0 USED:64
[c6xdsp ] 6628: SYSTEM: Opening ListMP [HOST_IPC_IN_19] ...
[m3vpss ] DEI:HEAPID:1 USED:4272
[c6xdsp ] 6628: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
[m3vpss ] DEI:HEAPID:4 USED:29030400
[m3vpss ] 7123: DEI : Create Done !!!
[m3vpss ] 7123: MERGE: 0: Format: PROGRESSIVE, 1920 x 1080
[c6xdsp ] IPC_FRAMES_IN:HEAPID:0 USED:304
[m3vpss ] 7124: MERGE : Create Done !!!
[c6xdsp ] 6629: IPC_FRAMES_IN : Create Done !!!
[m3vpss ] 7124: IPC_FRAMES_OUT : Create in progress !!!
[c6xdsp ] 6629: App : Create Done !!!
[m3vpss ] 7126: IPC_FRAMES_OUT : Create Done !!!
[m3vpss ] 7136: SWMS: Create in progress !!!
[m3vpss ] 7137: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
[m3vpss ] UTILS: DMA: Allocated CH (TCC) = 59 (59)
[m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760)
[m3vpss ] SWMS: instance 0, sc id 7, start win 0 end win 17
[m3vpss ] 7314: SWMS : VipScReq is TRUE!!!
[m3vpss ] 7315: Assertion @ Line: 2505 in links_m3vpss/swMs/swMsLink_drv.c: p!
这是打印结果,死在这拉
yongsong yang 说:[m3vpss ] 7315: Assertion @ Line: 2505 in links_m3vpss/swMs/swMsLink_drv.c: p!
你好;
你可以直接到这个位置查源码,查错误的原因;
你其他模块的工作都是正常的吗?还是直接就是写了一个这样的 chain 就调试?
你现在 运行 cap -> dei --> swms ->dis 这个链路能正常的工作吗?
再 添加 IPC Frames Out0 (M3)--<<process link>>--IPC Frames In(DSP)--ALGLINK 这个链路能正常工作吗?
前面的2个chain 能正常工作吗?
我看你出现在 swms 里面就有错误了
link之间的消息通知机制的配置,可以看一下下面的介绍:
http://processors.wiki.ti.com/index.php/SysLink_UserGuide#Notify