主题中讨论的其他器件:TDA4VL
工具/软件:
尊敬的 TI 团队
我们 在 sdk10.1上设置了两个3M 摄像头流。
运行了很长时间后,它发生了流输出停止。
错误是由 Fvid2_processRequest 返回失败-4导致的。
如下所示

vx_error_not_akough =-(vx_int32) 4、/*!<\brief 表示由于所需参数数量不足(无法自动创建)、给定图形验证失败。 通常这表示所需的原子参数。 请参阅 vxVerifyGraph。 */
此致
sungenben
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.
工具/软件:
尊敬的 TI 团队
我们 在 sdk10.1上设置了两个3M 摄像头流。
运行了很长时间后,它发生了流输出停止。
错误是由 Fvid2_processRequest 返回失败-4导致的。
如下所示

vx_error_not_akough =-(vx_int32) 4、/*!<\brief 表示由于所需参数数量不足(无法自动创建)、给定图形验证失败。 通常这表示所需的原子参数。 请参阅 vxVerifyGraph。 */
此致
sungenben
HI TI
Fvid2_processRequest 返回失败-4。
/**\Brief FVID2 API 调用返回错误、设备已在使用中。 示例、
* 尝试打开驱动程序最多+1次。 显示和捕获驱动程序
* 仅支持单个打开,而 M2M 驱动程序支持多个打开。 */
#define FVID2_EDEVICE_INUSE (-(int32_t) 4)
此致
sungenben
您好、sungenben、
您可以尝试使用以下链接中建议的补丁吗? 实际上、Linux 上的存储器映射存在问题、因此可能会损坏。
此致、
Brijesh
嗨、Brijesh
新补丁如下所示
VpacCeVissProcess 是我们自己的源代码、它与 TI vpacvissprocess 相同。
我们从已经在大规模产品中进行了测试的 TDA4VL 移植。
此致
sungenben
嗨、Brijesh
我已经更新了我们的源代码. 请帮助我检查。
e2e.ti.com/.../8154.vx_5F00_vpac_5F00_ce_5F00_viss_5F00_target.c
此致
sungenben
您好、 sungenben、
好的、我看到了一个方案、因此我们可能会看到这个错误-4。 这是因为 viss 驱动程序中包含以下代码。 我们可以看到驱动程序中有一个繁忙的等待、等待 GLBCE 完成、超时设置为100000。 如果由于某种原因、超时不足、则可以返回此-4错误。
暂时、您是否可以尝试将 SDK/drv/vhwa_m2mVissPriv.h 中的此超时(GLBCE_CNTX_SAVE_RESTORE_TR_RESPONSE_TIMEOUT_IN_USEC)增加到100000 、然后重新编译 src 并重试?
/* Wait for return descriptor in completion ring - this marks transfer completion */
uint64_t timeout = ClockP_getTimeUsec();
while(1)
{
status = Udma_ringDequeueRaw(instObj->glbceCqRingHndl[VHWA_M2M_VISS_GLBCE_CTX_RESTORE_DMA_CH], &ringPopVal);
if(UDMA_SOK == status)
{
/* Check TR response status */
VhwaAl_Cache_Inv(pTrMem, VHWA_M2M_VISS_UDMA_GLBCE_TRPD_SIZE, CacheP_TYPE_L1D);
trRespStatus = UdmaUtils_getTrpdTr15Response(pTrMem, 1U, 0U);
if(CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE != trRespStatus)
{
GT_0trace(VhwaVissTrace, GT_ERR, "Failed TR Response for GLBCE ctx restore\n");
}
break;
}
if((ClockP_getTimeUsec() - timeout) > GLBCE_CNTX_SAVE_RESTORE_TR_RESPONSE_TIMEOUT_IN_USEC)
{
GT_0trace(VhwaVissTrace, GT_ERR, "Ring dequeue GLBCE ctx restore Timeout failure\n");
break;
}
}
此致、
Brijesh