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.

[参考译文] AM68A:[AM68A]如何在启用实时调优选项后从 TI EVK 和 DCC 工具捕获原始图像

Guru**** 2013580 points
Other Parts Discussed in Thread: SK-AM68, AM68A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1319285/am68a-am68a-how-to-capture-the-raw-image-from-ti-evk-and-dcc-tool-after-enable-live-tuning-option

器件型号:AM68A
主题中讨论的其他器件:SK-AM68

您好!

我尝试使用 DCC 调优工具进行实时调优、但 我发现了与下面的链接相同的问题、

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1297014/processor-sdk-am68a-am68a-how-to-capture-the-raw-image-from-ti-evk-and-dcc-tool/4923391#4923391

我在 gstreamer 中启用了实时调优、如 Gang 提到的。

支持对 SDK 9.0进行实时调优、

1.导航至/opt/edgeai-tiovx-modules
2.在 CMakeLists.txt 文件中修改(ENABLE_DCC_TOOL" 启用 DCC 调优工具支持"->"ON")
3. mkdir 构建
4. CD 版本
5. cmake ..
6.生成-J2
7.进行安装

在 gstreamer 中启用实时调优后、我会重新启动电路板、但 DCC 调优工具中没有任何更改。

  • DCC 工具中的错误
    请求从目标地址192.168.0.5获取原始映像

    加载的通信 DLL:itCommun.dll

    捕获原始图像时出错

  • 设置信息
    • EVK:TI SK-AM68
    • SDK 版本:  ti-processor-sdk-linux-edgeai-j721s2-evm-09_00_00_08-Linux-x86-Install.bin
    • SDK 映像:tisdk-edgeai-image-j721s2-evm.wic.xz (预编译的 EdgeAI 映像)
    • DCC 调优工具版本: 3.1版
    • 图像传感器: IMX219原始传感器(RPiV2)

电路板启动时、会显示一些如下所示的错误日志。

特别是, [5.556504] imx219 5-0010:未能读取芯片 ID 219日志出现。

但我可以通过 HDMI 看到 Gstreamer 的摄像头流。

对我的问题有什么影响吗?

  • 引导错误日志
    • 按任意键以停止自动引导:0
      切换到分区#0,确定
      mmc1是当前器件
      在器件1上找到 SD/MMC
      加载"boot.scr"失败
      1403个字节在2ms 内读取(684.6 KiB/s)
      从 uEnv.txt 加载 env
      正在从 mmc1导入环境...
      正在运行 uenvcmd ...
      ##错误:"main_cpsw0_qsgmii_phyinit"未定义
      k3_r5f_rproc r5f@41000000:内核1已在使用中。 不使用 rproc 命令
      k3_r5f_rproc r5f@4140000:内核2已在使用中。 不使用 rproc 命令
      539832字节读取时间为26ms (19.8MiB/s)
      警告:未检测到图像签名证书。 跳过身份验证以防止启动失败。 这将在安全强制(HS-SE)设备上失败
      用 data@addr=0x82000000 539832字节加载远程处理器2:成功!
      在21ms 内读取400444字节(18.2MiB/s)
      警告:未检测到图像签名证书。 跳过身份验证以防止启动失败。 这将在安全强制(HS-SE)设备上失败
      向远程处理器3加载 DATA@addr=0x82000000 400444字节:成功!
      加载"/lib/firmware/j721s2-main-r5f1_0-fw "失败
      加载"/lib/firmware/j721s2-main-r5f1_1-fw "失败
      14381032字节读取时间为268ms (51.2MiB/s)
      警告:未检测到图像签名证书。 跳过身份验证以防止启动失败。 这将在安全强制(HS-SE)设备上失败
      向远程处理器6加载 DATA@addr=0x82000000 14381032字节:成功!
      9777224字节读取时间为78ms (119.5MiB/s)
      警告:未检测到图像签名证书。 跳过身份验证以防止启动失败。 这将在安全强制(HS-SE)设备上失败
      用 data@addr=0x82000000 9777224字节加载远程处理器7:成功!
      20593152字节读取时间为821 ms (23.9MiB/s)
      76203字节在7ms (10.4MiB/s)内读取
      工作 FDT 设置为88000000
      在5ms 内读取10448字节(2MiB/s)
      在5ms 内读取9302字节(1.8MiB/s)
      在5ms 内读取3359个字节(655.3 KiB/s)
      ##平展设备树 Blob、88000000
      在0x88000000使用 FDT Blob 引导
      工作 FDT 设置为88000000
      错误:保留 FDT 存储器区域失败(addr=880000000 size=2c000000 flags=4)
      正在将设备树加载到000000008feea000,结束00008fffff...确定
      工作 FDT 设置为8feea000

      正在启动内核...

      [ OK ]已完成控制台系统启动日志[5.508458] imx219 5-0010:未找到电源 VDIG,使用虚拟调节器。
      [ 5.521198] imx219 5-0010:未找到电源 VDDL、使用虚拟稳压器
      [ 5.528790] gpiod_set_value_cansleep:无效的 GPIO (错误指针)
      [ OK ]已完成重新引导和转储 vmcore via [ 5.538295] virtio_rpmsg_BUS virtio0: rpmsg host 为 online kexec.
      [ 5.548076] virtio_rpmsg_BUS virtio0:正在创建通道 rpmsg_chrdev addr 0xd
      [5.556504] imx219 5-0010:读取芯片 ID 219失败
      [ 5.561816] gpiod_set_value_cansleep:无效的 GPIO (错误指针)
      [5.568076] rproc-virtiio rproc-virtio.0.auto:注册 virtio0 (类型7)
      [ 5.568086] remoteproc remoteproc0:现已连接远程处理器648000.dsp
      [5.568440] imx219:5-0010探测器失败,错误-5
      [ 5.587319] k3-dsp-rproc 65800000.dsp:分配了保留存储器节点 vision-apps-C71_1-dma-memory@b6000000
      [确定]找到设备/dev/ttyS2.
      [ 5.623069] k3-dsp-rproc 65800000.dsp:将 DSP 配置为仅 IPC 模式
      [ OK ]已启动 D-Bus 系统消息总线。
      [ 5.639429] remoteproc remoteproce1:65800000.dsp 可用
      [5.645327] remoteproc remoteproc1:连接至658000.dsp
      [5.651439] remoteproc remoteproce1:不支持的资源65538

      [7.023532] remoteproc remoteproce5:加载/lib/firmware/j721s2-main-r5f1_0-fw 失败,显示错误-22
      [7.035400] remoteproc remoteproce5:j721s2-main-r5F1_0-FW 的直接固件加载失败,显示错误-22
      [7.045674] remoteproc remoteproc5:启动5e000.r5f
      [7.054256] remoteproc remoteproce5:加载/lib/firmware/j721s2-main-r5f1_0-fw 失败,显示错误-22
      [ 7.065903] platform 5f00000.r5f:已分配保留内存节点 vision-apps-r5f-dma-memory@a7000000
      [7.066703] remoteproc remoteproce5:j721s2-main-r5F1_0-FW 的直接固件加载失败,显示错误-22
      [7.085756] remoteproc remoteproce5: request_firmware failed:-22
      [ OK ]已启动网络名称解析[7.105923] remoteproc remoteproce6:5f000.r5f 可用。
      [ OK ]已到达目标网络。
      [7.115103] remoteproc remoteproce6:加载/lib/firmware/j721s2-main-r5f1_1-fw 失败,显示错误-22
      0;32m OK ]已达到目标主机和网络名称 L[ 7.131251] remoteproc remoteproc 6:j721s2-main-r5F1_1-FW 的直接固件加载失败,显示错误-22。
      [7.144079] remoteproc remoteproc6:启动5f000.r5f
      正在启动 Avahi mDNS/DNS-SD 堆栈...
      [7.153479] remoteproc remoteproce6:加载/lib/firmware/j721s2-main-r5f1_1-fw 失败,错误-22
      启动启用和配置 wl18xx 蓝牙
      [7.165584] remoteproc remoteproce6:j721s2-main-r5F1_FW 的直接固件加载失败,显示错误-22
      堆栈...
      正在启动容器运行时...
      [7.183129] remoteproc remoteproce6:request_firmware failed:-22

谢谢。

Hoyeon

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

    尊敬的 Hoyeon:

    我不确定启动错误是否重要。

    您可以查看以下应用手册中的步骤、了解它们是否适用于您。

    www.ti.com/.../sprad86

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

    BTW、当您尝试捕获原始图像时、您使用的 gstreamer 流水线是什么?

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

    我按照应用手册中的步骤操作。

    在5.2中更新 GStreamer 插件以支持传感器、

    TIOVX 模块和 GStreamer 插件已应用在源代码中、因此我没有更改任何内容。

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

    我在捕获原始图像时使用了如下所示的 gstreamer 流水线。

    • gst-launch-1.0 -v v4l2src num-buffers=5 device=/dev/video2 io-mode=dmabuf!  video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb10! 多文件链接位置="imx219-image-%d.raw"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hoyeon:

    我所说的"捕获原始图像"是指在调优工具中这样做。

    当您使用调优工具捕获原始图像时、您有什么 GST 流水线?

    您可以查看的内容

    • 如果您可以在安装了调优工具的情况下从 PC ping EVK
    • 如果您可以在调优工具的"算法视图"中获取 AE/AWB 信息

    我还在复制此主题上的同事、看看他们是否可以发现任何缺失的东西。

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

    否在调优工具中捕获原始图像时、我未使用 GST 流水线。

    我只是输入了 IP 地址并点击了"捕获"按钮、但出现了错误。


     在调优工具中捕获原始图像时、是否必须使用 GST 流水线?  如果是、请告知我命令。

     

    我核对了您提到的点、

    • 如果您可以在安装了调优工具的情况下从 PC ping EVK
      • 是、Ping 正常连接。


    • 如果您可以在调优工具的"算法视图"中获取 AE/AWB 信息
      • 信息出现、但 它似乎是默认值。
      • 单击"刷新算法窗口"按钮时、会发生错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     在调优工具中捕获原始图像时、是否必须使用 GST 流水线?  如果是、请告知我命令。

    [/报价]

    尊敬的 Hoyeon:

    调优工具的作用是向 AM68A 发送命令、请求获取原始图像。

    是的、您将需要运行 gstreamer 流水线、以便(1)传感器将原始图像流式传输到 AM68A、以及(2) gstreamer 中的 AE/AWB/tuning 服务器也会运行。
    然后、一旦调优服务器收到来自 PC 的命令、它就会保存来自传感器的原始图像并将其发送到 PC。

    您可以在此应用手册 https://www.ti.com/lit/pdf/sprad86中尝试 IMX219的 gstreamer 流水线

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

    我不知道 该怎么做。" 您能告诉我必须运行哪个命令吗?

    我尝试了应用手册中的这3个命令。

    命令的工作方式与在提示符下进行捕获或流式传输类似、但 在连接 DCC 工具时仍然有错误。

    • gst-launch-1.0 -v v4l2src num-buffers=5 device=/dev/video2 io-mode=dmabuf! \
      video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb10! \
      多文件链接位置="imx219-image-%d.raw"

    • gst-launch-1.0 v4l2src device=/dev/video2 io-mode=dmabuf-import! \
      video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb10! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 \
      SENSOR-NAME="SENSOR_SONY_IMX219_RPI"\
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin \
      Sink_0::DCC-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin 格式-msb=9! \
      video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1! \
      kmssink driver-name=tidss sync=false

    • gst-launch-1.0 -v v4l2src num-buffers=5 device=/dev/video2 io-mode=dmabuf-import! \
      video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb10! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 \
      SENSOR-NAME="SENSOR_SONY_IMX219_RPI"\
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin \
      Sink_0::DCC-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin 格式-msb=9! \
      video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1! \
      jpegenc! 多文件链接位置="imx219-image-%d.jpg"

    这是通过解码"./init_script.sh"实现的传感器连接。

    • root@am68a-sk:/opt/edgeai-gst-apps #./init_script.sh
      检测到 CSI 摄像头0
      设备=/dev/video-rpi-cam0
      名称= imx219
      格式=[fmt:SRGGB10_1x10/1920x1080]
      subdev_id =/dev/v4l-rpi-subdev0
      ISP 要求=是

    这是我在 DCC 工具中设置的原始参数。

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

    尊敬的 Hoyeon:

    您上面列出的第二个应该是从传感器流式传输到 HDMI 显示屏的正确响应、如应用手册第2页所述。
    当您运行该管道时、您是否在监视器上看到了正确的摄像机视频?

    gst-launch-1.0 v4l2src device=/dev/video2 io-mode=dmabuf-import! \
    video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb10! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 \
    SENSOR-NAME="SENSOR_SONY_IMX219_RPI"\
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin \
    Sink_0::DCC-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin 格式-msb=9! \
    video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1! \
    kmssink driver-name=tidss sync=false

    我想您需要为您的系统上的摄像头使用正确的设备。
    我 本人不熟悉这些 Linux 驱动程序的详细信息。
    我见过使用 video2或 video3、具体取决于 SDK 版本。

    您可以尝试"v4l2-ctl --list-devices"查看 系统中有哪些可用资源。

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

    您好、Gang、感谢您的快速响应。

    您上面列出的第二个应该是从传感器流式传输到 HDMI 显示屏的正确响应、如应用手册第2页所述。
    当您运行该管道时、您是否在监视器上看到了正确的摄像机视频?

    • 是的、我可以在 HDMI 显示器上看到正确的摄像头视频流。

    您可以尝试"v4l2-ctl --list-devices"查看 系统中有哪些可用资源。

    • root@am68a-sk:/opt/edgeai-gst-apps v4l2-ctl --list-devices
      j721e-csi2rx (platform:4500000.tcsi2rx):
      /dev/video2
      /dev/video3
      /dev/video4
      /dev/video5
      /dev/video6
      /dev/video7
      /dev/video8
      /dev/video9
      /dev/media0

      TI-CSI2RX (平台:451000.tcsi2rx):
      /dev/media1

      wave5-dec (平台:wave5-dec):
      /dev/video0

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

    大家好、Gang、我解决了这个问题、问题在于我工作的安全系统。

    感谢您的帮助、我了解了在使用 DCC 工具时运行 gstreamer 非常重要。

    再次感谢 Gang、祝您愉快!

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

    尊敬的 Gang:

    要 ‘ISP 调优、我的客户希望检查 ISP 和 AE/AWB 当前存在的"二进制"文件。 您能帮助 LGE 如何获取 XML 文件来检查下面的参数吗?

    • /opt/imaging/imx219/linear/dcc_viss_10b.bin
    • /opt/imaging/imx219/linear/dcc_2a_10b.bin

    谢谢、此致、

    SI

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

    尊敬的 SI:

    这些 xml 文件在 SDK 和 git.ti.com 中提供- git.ti.com/.../dcc_xmls

    此常见问题解答提供了有关为新传感器生成初始 xml 文件集的更多信息。
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1275034/faq-default-dcc-profile-generation-tool-for-tda4-am6xa-isp-vpac?tisearch=e2e-sitesearch&keymatch=%20user%3A35541

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

    大家好、Gang、我解决了这个问题、问题在于我工作的安全系统。

    [/报价]

    感谢您的确认!

    我将关闭该主题。

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

    尊敬的 Gang:

    是否有任何脚本或工具可以将 dcc.bin 文件解析为 xml、以检查是否 正确应用了最新参数?

    当多名工程师参与项目时、有时需要检查正在应用的参数。

    谢谢、此致、

    SI

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

    尊敬的 SI:

    我们没有用于将 bin 文件转换为 xml 文件的工具。

    我们通常只使用脚本直接发布 xml 文件、以便将 xml 文件转换为 bin 文件。
    通过这种方式、我们始终可以轻松地在 Git 中查看 xml 文件中的更改。