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.

[参考译文] Linux/TDA2EVM5777:显示控制器注册失败、使用对象检测用例

Guru**** 2576215 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/628341/linux-tda2evm5777-display-controller-registration-fails-with-object-detection-usecase

器件型号:TDA2EVM5777

工具/软件:Linux

你(们)好  

我已将以下用例添加到$vision_sdk/apps/src/HLOS/ADAS/src/用例目录(名为 LVDS_object_detection)。

Capture -> Alg_ImagePreProcess (EVE1)-> DUP_CAPTURE -> Merge (合并)_ALG

DUP_CAPTURE -> ALG_ImgPyramid -> DUP_imgPyramid -> ALG_FPCompute (EVE1)-> ALG_ObjectDetection (DSP1)-> Merge _objectDetect (DSP1)

DUP _imgPyramid -> Merge _objectDetect (DSP1)-> Sync_objectDetect (DSP2)-> Alg_ObjectClassification (DSP2)-> Merge _ALG -> Sync_ALG -> Alg_ObjectDraw -> SgxFrmcpy (A15)

//在 M4上显示
SgxFrmcpy -> Display_ALG (IPU1_0)

GrpxSrc -> Display_GRPX

这基本上取自(和修改)位于'RTOS '目录中的对象检测用例、但由于我想使用 Linux、我想在'HLOS '目录中创建一个用例。

所有内容均会编译、示例应用程序将使用菜单中的我的用例创建。

但是、当我运行它时、显示屏无法打开。 请参阅下面的控制台输出。

我认为链接 ID 可能不正确、但已根据我成功实现的前一个用例的链接 ID 确认它看起来是正确的。

我已经检查了指定行(dispcore/src/vpscree_dss.c @ Line 465)上的代码、看不到出现问题的明显原因。

在深入研究并尝试确定问题所在的位置之前、我想我会在这里询问是否有明显的事情表明我做了错误。

那么、我的问题是

1.我的用例是按原样产生工作还是在描述中犯了错误?

2.是否有任何方法可以启用额外的输出帮助来进行调试?

3.还有其他明显的东西,你可以看到这里是错误的吗?

谢谢、

Ian

[host][IPU2 ] 48697.812694 s:捕获:正在创建!!!
[host][IPU2 ] 48697.813060 s:捕获:VIP1 Slice0 Porta 捕获模式是[ 8位]!!!
[host][EVE1 ] 48697.935094 s:IPC_IN_0:正在创建!!!
[host][EVE1 ] 48697.936314 s:IPC_IN_0:创建完成!!!
[host][IPU2 ] 48697.933477 s:捕获:创建完成!!!
[host][IPU2 ] 48697.934148 s:IPC_OUT_0:正在创建!!!
[host][IPU2 ] 48697.934484 s:IPC_OUT_0:创建完成!!!
[host][EVE1 ] 48697.937076 s:算法:正在创建(algId = 10)!!!
[host][EVE1 ] 48697.957664 s:算法:创建完成(algId = 10)!!!
[host][EVE1 ] 48697.958640 s:IPC_OUT_0:正在创建!!!
[host][EVE1 ] 48697.959159 s:IPC_OUT_0:创建完成!!!
[host][IPU2 ] 48697.959738 s:IPC_IN_0:正在创建!!!
[host][IPU2 ] 48697.961019 s:IPC_IN_0:创建完成!!!
[host][IPU2 ] 48697.962483 s:算法:正在创建(algId = 5)!!!
[主机][IPU2 ] 48697.963338 s:ALG_IMAGEPYRAMID:# 0输入、246:1280 x 230 (1280 B)(在组织1280 x 720中)
[主机][IPU2 ] 48697.963551 s:输出0、244:1280 x 228 (1280 B)(输出组织1280 x 720)
[主机][IPU2 ] 48697.963795 s:ALG_IMAGEPYRAMID:# 1输入0、222:1278 x 270 (1280 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.963948 s:输出0、188:1076 x 228 (1088 B)(输出组织1076 x 604)
[主机][IPU2 ] 48697.964100 s:ALG_IMAGEPYRAMID:# 2输入0、196:1278 x 322 (1280 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.964253s:输出0、140:904 x 228 (928 B)(输出组织904 x 508)
[主机][IPU2 ] 48697.964405 s:ALG_IMAGEPYRAMID:# 3输入0、160:1278 x 382 (1280 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.964558 s:输出0、96:760 x 228 (768 B)(输出组织760 x 428)
[主机][IPU2 ] 48697.964741 s:ALG_IMAGEPYRAMID:# 4输入0、0:1280 x 720 (1280 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.964893 s:输出0、0:640 x 360 (640 B)(输出组织640 x 360)
[主机][IPU2 ] 48697.965046 s:ALG_IMAGEPYRAMID:# 5输入0、42:636 x 270 (640 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.965168 s:输出0、36:536 x 228 (544 B)(输出组织538 x 302)
[主机][IPU2 ] 48697.965320 s:ALG_IMAGEPYRAMID:# 6输入0、16:638 x 322 (640 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.965473 s:输出0、12:452 x 228 (480 B)(输出组织452 x 254)
[主机][IPU2 ] 48697.965625 s:ALG_IMAGEPYRAMID:# 7输入0、0:638 x 356 (640 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.965808 s:输出0、0:380 x 212 (384 B)(输出组织380 x 214)
[主机][IPU2 ] 48697.965961 s:ALG_IMAGEPYRAMID:# 8输入0、0:640 x 360 (640 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.966113 s:输出0、0:320 x 180 (320 B)(输出组织320 x 180)
[主机][IPU2 ] 48697.966266 s:ALG_IMAGEPYRAMID:# 9输入0、0:318 x 176 (320 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.966418 s:输出0、0:268 x 148 (288 B)(输出组织268 x 150)
[主机][IPU2 ] 48697.966540 s:ALG_IMAGEPYRAMID:#10输入0、0:316 x 174 (320 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.966754 s:输出0、0:224 x 124 (224 B)(输出组织226 x 126)
[主机][IPU2 ] 48697.966906 s:ALG_IMAGEPYRAMID:#11输入0、0:316 x 174 (320 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.967059 s:输出0、0:188 x 104 (192 B)(输出组织190 x 106)
[主机][IPU2 ] 48697.967211 s:ALG_IMAGEPYRAMID:#12输入0、0:320 x 180 (320 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.967364 s:输出0、0:160 x 88 (160 B)(输出组织160 x 90)
[主机][IPU2 ] 48697.967486 s:ALG_IMAGEPYRAMID:#13输入0、0:156 x 84 (160 B)(在组织0 x 0中)
[主机][IPU2 ] 48697.967699 s:输出0、0:132 x 72 (160 B)(输出组织134 x 74)
[host][IPU2 ] 48698.158390 s:算法:创建完成(algId = 5)!!!
[host][DSP1] 48698.160556 s:IPC_IN_1:正在创建!!!
[host][DSP1] 48698.161013 s:IPC_IN_1:创建完成!!!
[host][DSP1] 48698.166717 s:IPC_IN_0:正在创建!!!
[host][DSP1] 48698.167510 s:IPC_IN_0:创建完成!!!
[host][DSP1] 48698.167393 s:算法:正在创建(algId = 8)!!!
[host][EVE1 ] 48698.162203 s:IPC_IN_1:正在创建!!!
[host][EVE1 ] 48698.163453 s:IPC_IN_1:创建完成!!!
[host][EVE1 ] 48698.164185 s:算法:正在创建(algId = 11)!!!
[host][EVE1 ] 48698.164765 s:算法:创建完成(algId = 11)!!!
[host][EVE1 ] 48698.165680 s:IPC_OUT_1:正在创建!!!
[host][EVE1 ] 48698.166198 s:IPC_OUT_1:创建完成!!!
[host][IPU2 ] 48698.159915 s:IPC_OUT_2:正在创建!!!
[host][IPU2 ] 48698.160251 s:IPC_OUT_2:创建完成!!!
[host][IPU2 ] 48698.161288 s:IPC_OUT_1:正在创建!!!
[host][IPU2 ] 48698.1623s:IPC_OUT_1:创建完成!!!
[host][DSP1] 48698.173092 s:算法:创建完成(algId = 8)!!!
[host][DSP1] 48698.173549 s:IPC_OUT_0:正在创建!!!
[host][DSP1] 48698.173641 s:IPC_OUT_0:创建完成!!!
[host][DSP2] 48698.173824 s:IPC_IN_0:正在创建!!!
[host][DSP2] 48698.174129 s:IPC_IN_0:创建完成!!!
[host][DSP2] 48698.174525 s:算法:正在创建(algId = 17)!!!
[host][DSP2] 48698.177545 s:算法:创建完成(algId = 17)!!!
[host][DSP2] 48698.177758 s:IPC_OUT_0:正在创建!!!
[host][DSP2] 48698.177850 s:IPC_OUT_0:创建完成!!!
[host][IPU2 ] 48698.178094 s:IPC_IN_1:正在创建!!!
[host][IPU2 ] 48698.179161 s:IPC_IN_1:创建完成!!!
[host][IPU2 ] 48698.180900 s:算法:正在创建(algId = 1)!!!
[host][IPU2 ] 48698.182089 s:utils:dma:分配的 CH (TCC)= 32 (32)
[host][IPU2 ] 48698.182211 s:utils:dma:0 of 1:allocated param = 32 (0x63304800)
[host][host ] 1453.607319 s:IPC_IN_0:正在创建!!!
[host][host ] 1453.607746 s:IPC_IN_0:创建完成!!!
[host][host ] 1453.607807 s:SGXFRMCPY:创建正在处理的分辨率:1920x1080!!!
[host][host ] 1453.608478 s:system_PVRSCOPE:FIFO /opt/vision_sdk/gpufifo 已成功打开
[host][IPU2 ] 48698.246507 s:算法:创建完成(algId = 1)!!!
[host][IPU2 ] 48698.246995 s:IPC_OUT_3:正在创建!!!
[host][IPU2 ] 48698.247331 s:IPC_OUT_3:创建完成!!!
无法加载模块:/usr/lib/gbm/gbm_dri.so:无法打开共享目标文件:无此类文件或目录
无法加载模块:/usr/lib/gbm/gbm_gallium_drm.so:无法打开共享目标文件:无此类文件或目录
加载的模块:GBM_PVR.SO
找到有效的 GBM 后端:GBM_PVR.SO
[host][host ] 1453.664569 s:EGL:版本1.4
[主机][主机] 1453.702817 s:EGL:GL 版本= OpenGL ES 2.0内部版本1.14@3699939 (主版本)
[host][host ] 1453.702817 s:EGL:GL Vendor = Imagination Technologies
[主机][主机] 1453.702817 s:EGL:GL Renderer = PowerVR SGX 544MP
[host][主机] 1453.702817 s:EGL:GL 扩展= GL_OSE_rgb8_rgba8 GL_OSE_dept24 GL_OSE_Half_float GL_tore_gore_gL_OSE_gL_texpressed gL_tore_gL_tore_gL_texpressed gL_gL_tore_gL_tore_for_gL_texpressed gL_tore_for_gL_tore_for_gL_texpressed gL_tore_for_gL_tore_for_g_tage_for_ger_gL_tage_for_g_tagram_ger_ger_ger_gL_tore_for_ger_gore_for_gore_for_expressore_for_gore_for_g_tage_for_g_tagram_g_g_g_g_g_tagram_g_g_g_ger_ge_for_ore_for_ore_for_ore_for_g_g_g_g_ge_
[host][host ] ect GL_IMG_multiampled_rectured_TO_纹 理 GL_KHR_debug
[host][host ] 1453.734416 s:SGXFRMCPY:创建完成分辨率:1920x1080!!!
[host][host ] 1453.734477 s:IPC_OUT_0:正在创建!!!
[host][host ] 1453.734660 s:IPC_OUT_0:创建完成!!!
[host][IPU2 ] 48698.375068 s:IPC_IN_2:正在创建!!!
[host][IPU2 ] 48698.376227 s:IPC_IN_2:创建完成!!!
[host][IPU2 ] 48698.376624 s:显示:正在创建!!!
[host][IPU2 ] 48698.376959 s:dispcore/src/vpscare_dss.c @第465行:
[host][IPU2 ] 48698.377051 s:DSS 内核实例0的显示控制器注册失败
[host][IPU2 ] 48698.377173 s:dispdrv/src/vpsdrv_displayCore.c @第405行:
[host][IPU2 ] 48698.377264 s:DSS 内核打开失败!!
[host][IPU2 ] 48698.377325 s:dispdrv/src/vpsdrv_displayApi.c @第326行:
[host][IPU2 ] 48698.377417 s:内核打开失败!!
[host][IPU2 ] 48698.377508 s:断言@行:DisplayLink_drv.c 中的326:pObj->displayHnalk!= NULL:失败!!!

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

    您的 VisonSDK 是哪个版本?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、没有了... 它是3.00.00版
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已将您的问题转交 VisionSDk 专家进行评论。

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

    你(们)好

    您使用的 VSDK 版本是什么?

    如果您怀疑其原因是与链接 ID 相关的等系统、则使用 "Auto usecase generation tool"生成 UC _priv.c 和_priv.h 文件

    BTW、对象检测 uC 不在 HLOS 侧进行评估、任何 RTOS 侧 uC 可能无法像来自 HLOS 的那样正常工作、需要一定数量的移植。

    此致、Shiju

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

    你(们)好

    感谢您的反馈。

    它是3.00.00版

    我使用的是自动生成工具。 已成功编译用例、但在运行最终显示阶段时初始化失败(请参阅我发布的原始控制台输出)。

    因此、我似乎非常接近。 但我不确定如何进一步进行调试、因此任何提示都很有用。

    对于我们的应用、我们需要使用 Linux (我理解 SDK 意味着使用 HLOS 端)。 是否有计划验证此 HLOS UC? 您能告诉我移植会有多复杂、并指出一些有关从哪里开始的指针吗?

    Ian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Ian
    到目前为止、没有计划在 VSDK Linux (HLOS)上移植此 UC。
    您可以使用 CCS (Code Composer Studio)调试 IPU 侧显示崩溃。
    HLOS 上的 UC 移植主要用于移植与操作系统相关的功能。

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

    谢谢。

    有关移植的内容
    -为什么此 UC 不应*在 HLOS 上工作,有任何技术原因吗? IE 如果我选择尝试该端口-我是否有合理的成功机会。
    -使用现有的 SDK、我是否拥有成功移植此 uC 所需的所有源文件?
    -我不理解的另一个问题是算法在 DSP、EVE 或 IPU 上执行、结果通过 IPC 传递给 A15 (无论是 HLOS 还是 RTOS)。 IPC 模块似乎对两个操作系统都有很好的定义和支持、因此我本来认为选择 HLOS 或 RTOS 并不重要。 您能不能稍微解释一下我在这里的理解不正确的原因吗?

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

    Ian

    您能否与我共享 usecase.txt 文件、我想查看吗?

    此致、Shiju

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

    你(们)好

    这是我无法使显示器正常工作的用例文件

    UseCase:chains_LVDS_object_detect

    Capture -> Alg_ImagePreProcess (EVE1)-> DUP_CAPTURE -> Merge (合并)_ALG

    DUP_CAPTURE -> ALG_ImgPyramid -> DUP_imgPyramid -> ALG_FPCompute (EVE1)-> ALG_ObjectDetection (DSP1)-> Merge _objectDetect (DSP1)

    DUP _imgPyramid -> Merge _objectDetect (DSP1)-> Sync_objectDetect (DSP2)-> Alg_ObjectClassification (DSP2)-> Merge _ALG -> Sync_ALG -> Alg_ObjectDraw -> SgxFrmcpy (A15)

    //在 M4上显示
    SgxFrmcpy -> Display_ALG (IPU1_0)

    GrpxSrc -> Display_GRPX

    自从我们上次交互以来,我已经成功创建了*另一个*用例,该用例与上述类似,但它不显示,而是将输出编码为 h264。 然后、我获得 h264输出并生成了 RTSP/RTP 流、这样我就可以在 VLC 上显示网络上产生的 h264流。

    这是可行的、因为我可以看到道路标志被读取、行人被检测到。 因此、我的结论是、算法似乎应该使用 HLOS、但我仍然无法理解为什么在我的原始用例中显示不起作用。

    相关的其他问题

    UseCase:chains_LVDS_object_h264_encode

    Capture -> Alg_ImagePreProcess (EVE1)-> DUP_CAPTURE -> Merge (合并)_ALG

    DUP_CAPTURE -> ALG_ImgPyramid -> DUP_imgPyramid -> ALG_FPCompute (EVE1)-> ALG_ObjectDetection (DSP1)-> Merge _objectDetect (DSP1)

    DUP _imgPyramid -> DUP _imgpmd_DSP (DSP2)-> Merge _objectDetect (DSP1)-> Sync_objectDetect (DSP2)-> Alg_ObjectClassification (DSP2)-> Merge _ALG

    // LD
    DUP _imgpmd_DSP -> Alg_LaneDetect (DSP2)-> Merge _ALG

    merge_ALG -> Sync_ALG -> Alg_ObjectDraw -> Encode

    //在 M4上显示
    编码->空(A15)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ian
    很高兴听到算法流正常工作、
    BTW、您使用的是什么显示屏、它是支持1080p60的 HDMI 电视吗?
    供参考、我们仅支持具有 VSDK Linux 的 HDMI 显示、不支持 LCD/覆盖等。
    电视是否已连接至电路板? 如果未连接、请重新连接并检查。

    另一个建议是、您能否从链中删除 SgxFrmcpy (A15)并尝试
    //在 M4上显示
    ALG_ObjectDraw -> Display_ALG (IPU1_0)


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

    >> BTW、您使用的是什么显示屏、它是支持1080p60的 HDMI 电视吗?
    显示器是支持1080p60的 HDMI。 包含 SDK 的封装的标准用例(例如 VIP_Single_CAM_enc_dec SGX_display)工作正常。

    >>电视是否已连接到主板?
    是的

    >>另一个建议、您能否从链中删除 SgxFrmcpy (A15)并尝试

    已尝试执行此操作并获得相同的错误结果

    完全用例是

    UseCase:chains_LVDS_object_detect

    Capture -> Alg_ImagePreProcess (EVE1)-> DUP_CAPTURE -> Merge (合并)_ALG

    DUP_CAPTURE -> ALG_ImgPyramid -> DUP_imgPyramid -> ALG_FPCompute (EVE1)-> ALG_ObjectDetection (DSP1)-> Merge _objectDetect (DSP1)

    DUP _imgPyramid -> Merge _objectDetect (DSP1)-> Sync_objectDetect (DSP2)-> Alg_ObjectClassification (DSP2)-> Merge _ALG -> Sync_ALG -> Alg_ObjectDraw -> Display_ALG (IPU1_0)

    GrpxSrc -> Display_GRPX
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ian
    感谢您提供详细信息。
    您能否与我共享 dsiby 链接配置参数?
    适用于 Display_ALG 和 Display_GRPX

    此致、Shiju