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:未检测到 IMX390 / init_script.sh 将崩溃

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1377240/j784s4xevm-imx390-not-detected-init_script-sh-is-crashing

器件型号:J784S4XEVM

工具与软件:

您好!

正确加载融合板并 在每个 CSI-2 接口的端口0连接摄像头后、我会遇到一个新的问题

name_overlays=k3-j784s4-evm-virt-mac-client.dtbo k3-j784s4-vision-apps.dtbo k3-j784s4-edgeai-apps.dtbo k3-j721s2-evm-fusion.dtbo k3-fpdlink-imx390-rcm-0-0.dtbo k3-fpdlink-imx390-rcm-1-0.dtbo

运行 init_script.sh 后、它会崩溃

root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh 
terminate called after throwing an instance of 'std::runtime_error'
  what():  No modesetting DRM card found

融合板 dmesg:

root@ve-vob-0001a:~# dmesg | grep ds90
[    4.394230] ds90ub960 2-0036: supply vddio not found, using dummy regulator
[    4.516364] ds90ub960 2-003d: supply vddio not found, using dummy regulator
[    4.764512] ds90ub953 2-0054: Found ub953 rev/mask 0x20
[    4.775500] ds90ub953 2-0044: Found ub953 rev/mask 0x20

i2cdetect

root@ve-vob-0001a:~# i2cdetect -y -r 0x2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- UU -- -- -- -- -- -- UU -- -- 
40: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

对我来说、它看起来是正确的。
我是否缺少任何东西来使其正常工作?

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

    启动界面也无法正常工作。 这可能有用,因为它可能也与 KMS (kmstest)有关,抛出上面提到的"没有找到模式设置 DRM 卡"错误。

    root@ve-vob-0001a:~# systemctl status psplash-start.service
    × psplash-start.service - Start psplash boot splash screen
         Loaded: loaded (/lib/systemd/system/psplash-start.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Thu 2022-04-28 17:42:26 UTC; 2 years 1 month ago
        Process: 243 ExecStart=/usr/bin/psplash (code=exited, status=255/EXCEPTION)
       Main PID: 243 (code=exited, status=255/EXCEPTION)
    
    Apr 28 17:42:25 ve-vob-0001a psplash[243]: Error opening /dev/fb0
    Apr 28 17:42:26 ve-vob-0001a systemd[1]: psplash-start.service: Main process exited, code=exited, status=255/EXCEPTION
    Apr 28 17:42:26 ve-vob-0001a systemd[1]: psplash-start.service: Failed with result 'exit-code'.
    Apr 28 17:42:26 ve-vob-0001a systemd[1]: Failed to start Start psplash boot splash screen.

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

    您好!

    您正在环境文件中使用"k3-j784s4-vision-apps.dtbo"、这会从 Linux 禁用 DSS 和 csirx。 请删除此内容并重试。

    此致、

    Nikhil

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

    我删除了您建议的覆盖层、 现在看起来就是这样:

    root@ve-vob-0001a:/opt/edgeai-gst-apps# dmesg | grep ds90
    [    4.524932] ds90ub960 3-0036: supply vddio not found, using dummy regulator
    [    4.642043] ds90ub960 3-003d: supply vddio not found, using dummy regulator
    [    4.914307] ds90ub953 3-0054: Found ub953 rev/mask 0x20
    [    4.941323] ds90ub953 3-0044: Found ub953 rev/mask 0x20
    [    4.950141] ds90ub960 3-003d: Consider updating driver ds90ub960 to match on endpoints
    [    4.970967] ds90ub960 3-0036: Consider updating driver ds90ub960 to match on endpoints

    init 脚本不输出任何内容:

    root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh 
    root@ve-vob-0001a:/opt/edgeai-gst-apps# 
    


     例如、我需要 k3-j784s4-vision-apps.dtbo 来运行 LDC、作为我们 gstreamer 流水线的一部分。 视觉应用应该与摄像头一起运行吗? 这就是他们的目的。 我们怎能同时拥有两者?

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

    尊敬的 Richard:

    尝试从中更改 U-Boot 环境变量中的融合覆盖层 k3-j721s2-evm-fusion.dtbo 最终目的 k3-j784s4-fpdlink-FUSION.dtbo .

    谢谢!

    Fabiana

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

    感谢您发送编修。 我没有  k3-j784s4-fpdlink-FUSION.dtbo 头文件。 至少它不是的一部分  TI-PROCESSOR-SDK-LINUX-ADAS-j784s4-EVM-09_01_00_06 . 从哪里可以找到它?

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

    尊敬的 Richard:

    要在 J784S4上通过融合板启用 IMX390、请根据所使用的 SDK 执行以下步骤:

    Linux: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/09_02_00_05/exports/docs/linux/Foundational_Components Camera/CSI2RX.html#enabling-camera-sensors Kernel_Drivers

    RTOS: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j784s4/09_02_00_05/exports/docs/psdk_rtos/docs/user_guide/evm_setup_j784s4.html#fusion-daughter-card

    您能解释一下您的设置是什么吗? 您是否使用 Linux + RTOS 模式?

    谢谢!

    Fabiana

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

    Fabiana、您好!

    我们使用的是 Linux。 我下载了 SDK 的9.2版、但没有 k3-j784s4-fpdlink-FUSION.dtbo 文件。 根据您链接的步骤、我们需要加载 k3-j784s4-fpdlink-FUSION.dtbo 文件。

    SDK 附带 k3-j721s2-evm-fusion.dtso、用于创建 相应的 dtbo 文件、但我们 现在要加载这个文件、上面公布了结果。

    以下是属于 SDK 9.2的一部分的 j784s4文件:

    -rw-r--r--   1 rsc rsc  13362 mar  9  2018 k3-j784s4-edgeai-apps.dtbo
    -rw-r--r--   1 rsc rsc   1626 mar  9  2018 k3-j784s4-evm-csi2-ov5640.dtbo
    -rw-r--r--   1 rsc rsc 114029 mar  9  2018 k3-j784s4-evm.dtb
    -rw-r--r--   1 rsc rsc   4275 mar  9  2018 k3-j784s4-evm-quad-port-eth-exp1.dtbo
    -rw-r--r--   1 rsc rsc   2027 mar  9  2018 k3-j784s4-evm-usxgmii-exp1-exp2.dtbo
    -rw-r--r--   1 rsc rsc   3943 mar  9  2018 k3-j784s4-evm-virt-mac-client.dtbo
    -rw-r--r--   1 rsc rsc  14601 mar  9  2018 k3-j784s4-vision-apps.dtbo
    

    谢谢你

    Richard

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

    您好、Richard:

    在内部研究过此漏洞后、似乎这是已知的 v9.2 SDK 错误。 k3-j721s2-evm-fusion.dtbo 覆盖层确实可以用于 j784s4、因为器件树是相同的。 您是否在 EVM 之前为融合板供电? 您能否向我介绍一下设置软件所采取的步骤?

    谢谢!

    Fabiana

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

    Fabiana、您好!

    我们通过 EVM 为融合板供电。 我们将按照您建议的顺序为其供电。
    本线程的初始帖子实际上描述了我们为测试摄像头所采取的所有步骤。 我们如所述更改了 uEnv.txt、然后启动。 我运行  init_script.sh 如中所述、然后  dmesg | grep ds90 输入、然后  i2cdetect . 我的理解是、标记为"已注册" UU 从中删除  i2cdetect 根据我在这里读出的其他线程、它们是正确的。 因此、 功率顺序可能不是问题? 或 UU 不是正确的 显示、它应该显示 i2c 地址本身的编号? 或者、您的意思是"您设置软件所采取的步骤"还有其他含义吗?

    此致

    Richard

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

    尊敬的 Richard:

    您能解释一下如何构建 SDK 吗? 您似乎在使用边缘 AI 映像。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们根据说明在 local.conf 中构建了映像
    ARAGO_BRAND = "adas"
    ARAGO_RT_ENABLE = "1"
    命令
    MACHINE="j784s4-evm" bitbake -k tisdk-adas-image -f
    但是内核配置是通过该命令完成的
    MACHINE="j784s4-evm" bitbake -k linux-ti-staging-rt -c do_menuconfig
    因为将 fragment.cfg 添加到 bbappend 文件不起作用
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Richard:

    是否有使用 RT Linux Kernel 进行构建的原因? 您的目标用例是什么? 您是否尝试过从 IMX390捕获视频? 如果是、您尝试运行哪个命令、您是否可以共享输出日志? 您是否还能共享的输出 media-ctl -p v4l2-ctl --list-devices

    谢谢!

    Fabiana

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

    我们需要 RT Linux 内核、因为我们的目标是运行许多过程并希望确保摄像头访问具有实时优先级、因为摄像头流水线不间断运行对我们来说至关重要。

    在第一篇文章中描述的设置中运行所要求的命令如下所示:

    root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh 
    terminate called after throwing an instance of 'std::runtime_error'
      what():  No modesetting DRM card found
    root@ve-vob-0001a:/opt/edgeai-gst-apps# 
    root@ve-vob-0001a:/opt/edgeai-gst-apps# 
    root@ve-vob-0001a:/opt/edgeai-gst-apps# media-ctl -p
    Failed to enumerate /dev/media0 (-2)
    root@ve-vob-0001a:/opt/edgeai-gst-apps# v4l2-ctl --list-devices
    wave5-dec (platform:wave5-dec):
    	/dev/video0
    	/dev/video2
    
    wave5-enc (platform:wave5-enc):
    	/dev/video1
    	/dev/video3
    
    

     从 uEnv.txt 的叠加层中删除 k3-j784s4-vision-apps.dtbo 后、我会得到以下输出

    root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh 
    root@ve-vob-0001a:/opt/edgeai-gst-apps# media-ctl -p
    Media controller API version 6.1.80
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:4500000.ticsi2rx
    hw revision     0x1
    driver version  6.1.80
    
    Device topology
    - entity 1: 4500000.ticsi2rx (9 pads, 0 link, 0 route)
                type V4L2 subdev subtype Unknown flags 0
    	pad0: Sink
    	pad1: Source
    	pad2: Source
    	pad3: Source
    	pad4: Source
    	pad5: Source
    	pad6: Source
    	pad7: Source
    	pad8: Source
    
    - entity 11: cdns_csi2rx.4504000.csi-bridge (5 pads, 1 link, 0 route)
                 type V4L2 subdev subtype Unknown flags 0
    	pad0: Sink
    		<- "ds90ub960 3-003d":4 [ENABLED,IMMUTABLE]
    	pad1: Source
    	pad2: Source
    	pad3: Source
    	pad4: Source
    
    - entity 17: ds90ub960 3-003d (6 pads, 2 links, 0 route)
                 type V4L2 subdev subtype Unknown flags 0
    	pad0: Sink
    		<- "ds90ub953 3-0044":1 [ENABLED,IMMUTABLE]
    	pad1: Sink
    	pad2: Sink
    	pad3: Sink
    	pad4: Source
    		-> "cdns_csi2rx.4504000.csi-bridge":0 [ENABLED,IMMUTABLE]
    	pad5: Source
    
    - entity 26: ds90ub953 3-0044 (2 pads, 1 link, 0 route)
                 type V4L2 subdev subtype Unknown flags 0
    	pad0: Sink
    	pad1: Source
    		-> "ds90ub960 3-003d":0 [ENABLED,IMMUTABLE]
    
    root@ve-vob-0001a:/opt/edgeai-gst-apps# v4l2-ctl --list-devices
    TI-CSI2RX (platform:4500000.ticsi2rx):
    	/dev/media0
    
    TI-CSI2RX (platform:4510000.ticsi2rx):
    	/dev/media1
    
    TI-CSI2RX (platform:4520000.ticsi2rx):
    	/dev/media2
    
    wave5-dec (platform:wave5-dec):
    	/dev/video0
    	/dev/video2
    
    wave5-enc (platform:wave5-enc):
    	/dev/video1
    	/dev/video3
    
    

    这看起来不错、因此我想我们很快就要运行摄像头了。 问题是、 我们需要 k3-j784s4-vision-apps.dtbo、因为我们要运行 tiovxldc、只有在加载此 dtbo 文件时它才有效。

    还有一个问题仍然存在  init_script.sh 不输出任何内容。

    root@ve-vob-0001a:/opt/edgeai-gst-apps# ./init_script.sh
    root@ve-vob-0001a:/opt/edgeai-gst-apps#
    
    

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

    尊敬的 Richard:

    根据您共享的日志、正在检测融合板、但摄像头未检测到。 您能分享一下您正在使用的 imx390传感器吗? 如果您使用的传感器具有内置 ISP、则不支持。 如果传感器没有内置 ISP、请尝试交换 CSI 端口。 执行此操作时、不要忘记也交换 dtbo。

    如 Nikhil 之前所述、包括将 Vision Apps dtbo 添加到 uEnv.txt 将禁用 csirx 和 DSS。 tiovxldc Gstreamer 插件会在没有覆盖的情况下工作。

    谢谢!

    Fabiana

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

    我们使用的是来自 Sensing 的常规 IMX390摄像头 、但没有内置 ISP。 这些摄像头是否可以开箱即用、或者我们是否应该订购 D3 Engineering 的 IMX390摄像头?

    如果不加载视觉应用、 tiovxldc 将会崩溃、我非常确信这一点。 但这是一个不同的主题,我将为它创建一个新的线程 一旦摄像头工作,这是更紧迫的现在。

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

    尊敬的 Richard:

    由于美国假期、 我的 回复将会延迟。 感谢您的理解。

    - Fabiana

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

    尊敬的 Fabiana:

    我希望你有一个伟大的独立日。 您是否有一些 关于摄像机主题的新输入?

    此致

    Richard

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

    我们处理此主题的专家目前不在办公室内;请预计会延迟1-2天的响应时间。

    谢谢。

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

    尊敬的 Richard:

    我只使用了 D3 Engineering 提供的 IMX390传感器、但如果这些感应传感器没有内置 ISP、它应该开箱即用。 您能否将链接分享到您购买的具体传感器?

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:  

    感应摄像头 具有内置 ISP。  
    https://www.sensing-world.com/en/pd.jsp?id=34#_jcp=2

    我们订购不带 ISP 的 D3 Engineering 摄像头。

    此致
    Richard

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

    尊敬的 Richard:

    您可以继续使用感应摄像头、但启用此功能的支持将受到限制。 如果您有兴趣了解选择该路线需要执行的操作、请查看此处讨论的主题: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1233573/sk-am62a-lp-debug-about-csi2rx

    如果您计划使用 D3 Engineering IMX390加固型摄像头模块、则应能够按预期工作。 如果您遇到任何问题、请告知我们。 正在关闭该主题帖。

    谢谢!

    Fabiana