工具与软件:
尊敬的专家:
我们的客户发现 TDA4VE 上存在严重的图像碎片问题、如以下视频所示。 您可以帮助检查如何进行调试吗?
e2e.ti.com/.../mmexport1737212085099.mp4
SDK:
TI-PROCESSOR-SDK-RTOS-j721s2-evm-08_06_01_03
摄像机:
4*1920*1536@25fps
问题说明:
1.连接到 CSI-RX 和 TDA4VE 的4个摄像头通过以太网将视频输出到 cookpit。 我们可以在大约5秒内发现严重的图像碎片。
2.我们发现捕获统计数据、CRC/ECC/overflow 在 MCU2_0中保持为0、但帧下降计数持续增加;
3.复员方案统计数字如下:

测试和结果:
1.如果只连接了1台相机,就没有问题;
2.我们试图将捕获节点的缓冲区从4增加到6;帧丢弃计数几乎消失、对此问题有一些改进、但无法完全解决;
按如下所示捕获统计数据:

3. 如果我们在 C7中禁用 BEV fastray 和 infopost、就不会有问题;
4.我们尝试修改 CSIRX 驱动程序配置如下,并将概率从5s/1次降至1min/1次;
|
初始文本文件 |
位置 |
变化 |
|
pdk_j721s2_08_06_01_03/packages/ti/drv/csirx/csirx.h |
增加 chCfgPrms->rxChParams.addrType = TISCI_MSG_VALUE_RM_UDMAP_CH_ATYPE_NON_相干; chCfgPrms->rxChParams.busOrderId = 12u; |
5.我们尝试按照下面 E2E 链接中的建议修改 CSIRX 驱动程序。 但报告了错误。
|
初始文本文件 |
位置 |
变化 |
|
packages/ti/drv/csirx/csirx.h |
Csirx_chCfgInit |
在函数末尾添加"chCfgPrms->rxChParams.addrType = TISCI_MSG_VALUE_RM_UDMAP_CH_ATYPE_NON_相干;"行。 更改了 以下声明 UdmaChRxPrms_init (&chCfgPrms->rxChParams、UDMA_CH_TYPE_RX); 最终目的 UdmaChRxPrms_init (&chCfgPrms->rxChParams、UDMA_CH_TYPE_RX_UHC); |
|
packages/ti/drv/udma/udma/udma_ch.c src |
UdmaChUtcPrms_init |
更改了以下声明 utcPrms->addrType = TISCI_MSG_VALUE_RM_UDMAP_CH_ATYPE_PHYS; 最终目的 utcPrms->addrType = TISCI_MSG_VALUE_RM_UDMAP_CH_ATYPE_NON_相干; //TISCI_MSG_VALUE_RM_UDMAP_CH_ATYPE_PHYS; |
|
packages/ti/drv/csirx/sysirx/sysirx_drvma.c src |
CsirxDrv_setChUdmaParams |
更改了以下声明 ChType = uDMA_CH_TYPE_RX; 最终目的 ChType = uDMA_CH_TYPE_RX_UHC; |
修改上述内容后、当 MCU2_0启动时、捕获节点报告以下错误。

关于 udma_ch_type_RX_HC 和 udma_ch_type_RX_UHC 通道分配失败的问题、客户会查看 udma_rmAllocRxHcCh ()和 udma_rmAllocRxUhcCh ()、发现 numRxHcCh 和 numRxUhcCh 为0。
客户跟踪了代码并发现它用于 Udma_rmGetSciclientDefaultBoardCfgRmRange() 从 Sciclient Default BoardCfg 中查询所有资源范围。 如果客户想要使用 RX HC 和 UHC 通道、需要采用哪种配置?
此致、
Zhu Xingyu





