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.

[参考译文] TMDSCSK388:显示链接错误

Guru**** 2589245 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/638013/tmdscsk388-display-link-error

器件型号:TMDSCSK388
主题中讨论的其他器件:DM388

我正在尝试通过 IPNC_RDK 3.9.0中的 HDVPSS 启用捕获

我创建了从捕获链接到 SD Display 和流媒体的链接。 我要在这里附上用例。

在创建 Display 链接时出现一些错误

断言@行:852在 links_m3vpss/display/DisplayLink_drv.c 中:status ==!

e2e.ti.com/.../stream-usecae.pdf



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

    捕获是捕获1920x1080帧、由于 SD 需要720x480帧大小、因此无法将此帧大小直接连接到 SD 显示屏。
    我想您错过了在第二个捕捉输出中启用标量。
    另请注意、displayPrm_SD 的 fordLinkQueuId 应设置为1

    pCaptureOutPrm =&pCaptureInstPrm->outParams[0];
    pCaptureOutPrm->dataFormat = system_DF_YUV422I_UYVY;
    pCaptureOutPrm->scEnable = false;
    pCaptureOutPrm->scOutWidth = 1920;
    pCaptureOutPrm->scOutHeight = 1080;
    pCaptureOutPrm->outQueId = 0;
    //第二个流
    pCaptureOutPrm =&pCaptureInstPrm->outParams[1];
    pCaptureOutPrm->dataFormat = system_DF_YUV420SP_UV;
    pCaptureOutPrm->scEnable = false;
    pCaptureOutPrm->scOutWidth = 720;
    pCaptureOutPrm->scOutHeight = 480;
    pCaptureOutPrm->outQueId = 1;
    //显示链接参数
    MULTICH_INIT_STRUCT (DisplayLink_CreateParams、displayPrm_SD);
    displayPrm_SD.inQueParams[0].prevLinkId = gVcapModuleContext.captureId;
    displayPrm_SD.inQueParams[0].prevLinkQueId = 2;

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

    谢谢你 Brijesh

    我在第二个捕获输出中添加了标量、创建了标量链接。  我将发布修改。 显示链接仍有一些问题。 您能验证一下吗?

    CaptureLink_CreateParams_Init (&capturePrm);

    CapturePrm.outQueParams[0].nextLink = ipcOutVpssId;

    CapturePrm.outQueParams[1].nextLink = gVcamModuleContext.sclrId[0];

    CapturePrm.tilerEnable = false;

    pCaptureInstPrm =&capturePrm.vipInst[0];

    pCaptureInstPrm->vipInstId = system_capture_INST_VIP0_Porta;

    pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;

    pCaptureInstPrm->标准= SYSTEM_STD_1080p_30;

    pCaptureInstPrm->numOutput = 2;

    /*第一个流*/

    pCaptureOutPrm =&pCaptureInstPrm->outParams[0];

    pCaptureOutPrm->dataFormat = system_DF_YUV422P;

    pCaptureOutPrm->scEnable = false;

    pCaptureOutPrm->scOutWidth = 1920;

    pCaptureOutPrm->scOutHeight = 1080;

    pCaptureOutPrm->outQueId = 0;

    /*第二个流*/

    pCaptureOutPrm =&pCaptureInstPrm->outParams[1];

    pCaptureOutPrm->dataFormat = system_DF_YUV422P;

    pCaptureOutPrm->scEnable = false;

    pCaptureOutPrm->scOutWidth = 1920;

    pCaptureOutPrm->scOutHeight = 1080;

    pCaptureOutPrm->outQueId = 1;

    /*标量*/

    SclrLink_CreateParams_Init (&sclrPrm);

    sclrPrm.inQueParams.prevLinkId = gVcapModuleContext.captureId;

    sclrPrm.inQueParams.prevLinkQueId = 1;

    sclrPrm.outQueParams.nextLink = gVdisModuleContext.displayId[VDIS_DEV_SD];

    sclrPrm.tilerEnable = false;

    sclrPrm.enableLineSkipSc = false;

    sclrPrm.inputFrameRate = 30;

    sclrPrm.outputFrameRate = 30;

    sclrPrm.scaleMode = DEI_SCALE_MODE_Absolute;

    sclrPrm.outScaleFactor.absoluteResolution.outWidth = 720;

    sclrPrm.outScaleFactor.absoluteResolution .outHeight = 480;

    sclrPrm.outDataFormat = VF_YUV420SP_UV;

    sclrPrm.pathId = SCLR_LINK_SEC0_SC3;

    //显示链接参数

    MULTICH_INIT_STRUCT (DisplayLink_CreateParams、displayPrm_SD);

    displayPrm_SD.inQueParams[0].prevLinkId = gVcamModuleContext.sclrId[0];

    displayPrm_SD.inQueParams[0].prevLinkQueId = 0;

    displayPrm_sd.displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution;

    displayPrm_sd.displayId = display_link_display_sd;

    谢谢大家、此致。

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

    您好、Nithin、

    它是否仍然在同一个位置失败?

    是否确定 SD 路径未被任何其他驱动程序使用?  

    您能否检查它是否适用于标量的 YUV422输出?

    Rgds、

    Brijesh

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

    您好、Brijesh、
    1.它是否仍然在同一个位置失败?
    未成功创建显示链接。 现在、日志中有一条警告消息:MSGQ:WARNING:TING:TESING:TING to send command [0x0000] to link [0] on processor [DSP]、but [DSP] is not present on this platform
    而失败的位置不同:断言@行:220在 links_common/system/system_ipc_msgq.c 中:0:失败!

    2.是否确定 SD 路径未被任何其他驱动程序使用?
    我正在自定义 Dm388_CSK 应用。 如果仅在 usecase 文件夹中配置了 SD 路径、我认为没有其他驱动程序正在使用 SD 路径

    您能否检查它是否适用于标量的 YUV422输出?
    我仍然使用 YUV422进行了检查、但该检查无法解决问题。

    谢谢、
    此致
    镍薄型

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

    您好、Nithin、

    您能否检查其故障的确切位置? 它正在尝试向看起来不活动的 DSP 发送消息。 您可以在用例中跟踪吗?

    Rgds、

    Brijesh

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

    您好、Brijesh

    这是在用例中为我的显示屏创建的链接。 在创建未打开的显示链接后、我保留了 LED 打开功能。 此外、"用例设置完成"也不会打印。

    错误消息是:断言@行:220在 links_common/system/system_ipc_msgq.c 中:0:失败


    .
    .
    /*缩放链接*/
    System_linkCreate (gVcapModuleContext.sclrId[0]、&sclrPrm、sizeof (sclrPrm));
    GPIO_LED_ON (26);

    /*显示链接*/
    System_linkCreate (gVdisModuleContext.displayId[VDIS_DEV_SD]、&displayPrm_SD、sizeof (displayPrm_SD));
    GPIO_LED_ON (27);


    OSA_printf ("USECASE 设置完成\n");



    谢谢、
    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nithin、
    您是说标量创建失败了吗? 是否可以检查 sclrId? 它是否设置了正确的 ID?

    Rgds、
    Brijesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brijesh、
    我认为标量失败了。 ID 设置为;

    gVcapModuleContext.sclrId[0]= system_link_ID_SCLR_INST_0;

    如何解决内存分配问题?

    [91.69869] autorun-usecase.sh[114]:[m3vpss ]内存分配由于可用内存不足而失败
    [91.698025] autorun-usecase.sh[114]:[m3vpss ] 3664:断言@行:在 links_m3vpss/sclr/sclrLink_drv.c 中为273:status =FVID2_!

    谢谢你
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nithin、
    如果这确实是内存分配问题、您可以增加堆大小、并且应该能够解决。
    但我们有非常大的堆、我们可以运行大约4通道用例、而您有一个单通道捕获+标量+显示用例。 因此、我想、在某个地方、提供给标量链路的帧大小太大、无法分配。 因此、它发生了故障。 您能不能进入标量链接代码、看看为什么它的帧大小错误、无法分配缓冲区?

    Rgds、
    Brijesh