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.

[参考译文] J784S4XEVM:CSIRX 启用时 CSITX 不传输(独立工作,同时发生故障)

Guru**** 2868720 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1637630/j784s4xevm-csitx-not-transmitting-when-csirx-is-enabled-works-standalone-fails-together

器件型号: J784S4XEVM

您好:

我目前正在 EVM 板上测试 CSI 代码、最终将在定制板上使用该代码。
就会用到目标配置 3 个 RX 端口和 1 个 TX 端口

我是根据以下示例进行开发的:

  • csitx_transmit_test(来自 CSITX 示例)
  • csirxtx_loopback_test(来自 CSIRX 示例)

由于 TRX 端口将在最终设置中直接连接到外部器件、
我正在通过直接连接在 EVM 上进行测试 RX 实例 2 和 TX 实例 1 测量的。

加载并运行csitx_transmit_test示例映像时、工作正常。


问题

运行时 仅 TX 任务 、我可以确认 正确调用完整回调

但是、当我运行时 RX 任务与 TX 任务一起完成 、TX 不再运行(不触发回调)。


日志

  • 以下是运行时的日志 TX 和 RX 任务一起执行

    =================================================================
     DMSC Firmware Version 11.1.8--v11.01.08 (Fancy Rat)
     Firmware revision 0xb
     ABI revision 4.0
    =================================================================
    Sciclient_ccs_init Passed.
    SCISERVER Board Configuration header population... PASSED
    [MAIN_Cortex_R5_0_0] 
    Clock Freq: CSITX_MOD_ESC_CLK = 20000000Hz
    Clock Freq: CSITX_MOD_DPHY_TXBYTECLKHS_CLK = 0Hz
    Clock Freq: CSITX_MOD_VBUS_CLK = 250000000Hz
    Clock Freq: CSITX_MOD_MAIN_CLK = 500000000Hz
    CSI RX PMSet 0
    CSI_RX_TASK: Sample Application - STARTS !!!
    CSI_RX_TASK:===================Setup Details===================
    CSI_RX_TASK: Capture Instance: 2
    CSI_RX_TASK: Capture DF:0x2c
    CSI_RX_TASK: Capture Resolution:1920 x 1080
    CSI_RX_TASK:===================================================
    CSI_RX_TASK:Set D-PHY Configuration Successful for CSIRX instance 2!!!
    CSI_RX_TASK: CSIRX Capture created for CSIRX instance 2
    Wait gAppCompletionSem
    Wait gAppCompletionSem
    Start CSI TX...
    gAppCompletionSem Post
    Wait Event
    CSI_TX_TASK: CSITX start of frame interrupts for CSITX instance:1 in 10 sec is 0!!!
    
  • 以下是运行时的日志 仅限 TX 任务

     

    Sciclient_ccs_init Passed.
    SCISERVER Board Configuration header population... PASSED
    [MAIN_Cortex_R5_0_0] 
    Clock Freq: CSITX_MOD_ESC_CLK = 20000000Hz
    Clock Freq: CSITX_MOD_DPHY_TXBYTECLKHS_CLK = 0Hz
    Clock Freq: CSITX_MOD_VBUS_CLK = 250000000Hz
    Clock Freq: CSITX_MOD_MAIN_CLK = 500000000Hz
    Start CSI TX...
    Tx[1] Frame 250
    Tx[1] Frame 500
    Tx[1] Frame 750

Tx[1] Frame: xxx—此日志从 TX Complete 回调打印。

rtos_app.zip  我附上了我目前正在测试的代码。 它仍处于开发的早期阶段、因此非常混乱、感谢您的理解。  

我希望能就可能导致这一问题的原因提供任何指导。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hojung Bae:

    抱歉、不了解您正在使用的应用程序? 您是否正在使用重新传输示例? 因为此示例将 CSIRX 直接连接到 CSITX、 从而绕过 DDR。  在本例中、我们不会同时从 CSIRX 和 CSITX 获得回调、因为它具有内部硬件连接。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

    我们使用的系统包含 TDA4 SoC 和 Zynq FPGA。 FPGA 的三个 CSI TX 端口直接连接到 TDA4 的三个 CSI RX 端口。 此外、FPGA RX 连接到 TDA4 TX。

    对于测试、我们主要使用 CSITx_TRANSMIT_TEST TX 侧的示例和 TX-RX 端口通过电缆直接连接。 对于 RX 端、我们仅参考了使用多端口的环回示例、但大多数配置都基于 CSITx_TRANSMIT_TEST 。 此外、CSIRX_CH_TYPE_LPBK我们不使用、而是将其配置为CSIRX_CH_TYPE_CAPT

    TX 任务本身运行正常、但当与 RX 任务一起运行时、它无法正常工作。 我想了解此问题是由配置问题、UDMA 资源冲突还是其他原因引起的。

    此外、您能否就如何为上述系统配置构建源代码提供指导?

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以匹配与相同的环境 CSITx_TRANSMIT_TEST 、我们将TRX TEST_INST_NUM测试设置为 1、并将测试配置为仅使用CSITX_INSTANCE_ID_1CSIRX_INSTANCE_ID_2。 我们还使用App_initTxParams和中定义的相同配置值App_initCaptParams

    与原稿的主要区别 CSITx_TRANSMIT_TEST 例如、TX 和 RX 任务是分开的、根据、还有用于缓冲区处理和处理的附加 for 循环TEST_INST_NUM

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    现已确定在 RX 端执行以下代码导致了该问题:

    Fvid2InitPrms_init (&initPrms);
    initPrms.printFxn =&App_fvidPrint;
    retVal = Fvid2_init (&initPrms);

    谢谢你。