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.

[参考译文] SK-AM62-LP:3D 立方体以低 fps 运行

Guru**** 2481465 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1455903/sk-am62-lp-3d-cube-runs-at-low-fps

器件型号:SK-AM62-LP

工具与软件:

后跟: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448630/sk-am62-lp-how-to-run-kmscube-in-quickboot-on-sk-am62p-lp/5557758?tisearch=e2e-sitesearch&keymatch=%20user%3A546558#5557758

我们注意到 kmscube 的速率只有4fps。 此外、在运行 SRV 应用程序时、我们会看到 kmsro:缺少驱动程序。 怀疑 kmscube 可能无法利用 GPU、因为 GPU 驱动程序未运行。  

如何在 Quickboot 后检查 GPU 驱动程序是否正在运行、以及如何 检查 kmscube 是否使用 GPU? 谢谢。

此致、

Wilson Hung

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

    尊敬的 Wilson:

    CAT /sys/kernel/debug/pvr/status

    应在运行 Kmscube 应用程序时提供 GPU 的状态。

    此致、

    Suren

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

    您好、Suren、

    感谢快速响应。 该命令返回

    root@am62pxx-EVM:~# cat /sys/kernel/debug/pvr/status
    CAT:无法打开"/sys/kernel/debug/pvr/status ":没有此类文件或目录

    看起来我们必须启用调试和重新编译 rootfs。 是否有启用调试的方法?

    此致、

    Wilson

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

    看上去 IMG 流氓驱动程序模块未插入。

    您能否共享 lsmod 命令的输出?

    此致、

    Suren

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

    您好、Suren、

    如果从 OSPI 引导、则未列出任何模块。

    root@am62pxx-evm:~# lsmod
    Module                  Size  Used by
    root@am62pxx-evm:~#

    相比之下、如果 从 SD 引导、引导映像是由 Yocto10构建的。

    root@am62pxx-evm:~# lsmod
    Module                  Size  Used by
    rpmsg_ctrl             12288  0
    rpmsg_char             20480  1 rpmsg_ctrl
    snd_soc_simple_card    16384  0
    snd_soc_simple_card_utils    24576  1 snd_soc_simple_card
    crct10dif_ce           12288  1
    snd_soc_davinci_mcasp    32768  2
    wave5                  94208  0
    panel_simple           90112  0
    pvrsrvkm             1261568  0
    ti_am65_cpsw_nuss      94208  0
    videobuf2_dma_contig    16384  1 wave5
    snd_soc_tlv320aic3x_i2c    12288  1
    snd_soc_ti_udma        12288  1 snd_soc_davinci_mcasp
    snd_soc_tlv320aic3x    73728  1 snd_soc_tlv320aic3x_i2c
    phylink                45056  1 ti_am65_cpsw_nuss
    snd_soc_ti_edma        12288  1 snd_soc_davinci_mcasp
    v4l2_mem2mem           32768  1 wave5
    snd_soc_ti_sdma        12288  1 snd_soc_davinci_mcasp
    snd_soc_hdmi_codec     16384  0
    rti_wdt                12288  0
    am65_cpts              24576  1 ti_am65_cpsw_nuss
    videobuf2_v4l2         28672  2 v4l2_mem2mem,wave5
    snd_soc_core          212992  8 snd_soc_davinci_mcasp,snd_soc_ti_sdma,snd_soc_ti_edma,snd_soc_hdmi_codec,snd_soc_tlv320aic3x,snd_soc_ti_udma,snd_soc_simple_card_utils,snd_soc_simple_card
    ti_k3_r5_remoteproc    24576  0
    videobuf2_memops       12288  1 videobuf2_dma_contig
    k3_cppi_desc_pool      16384  1 ti_am65_cpsw_nuss
    snd_pcm_dmaengine      16384  1 snd_soc_core
    virtio_rpmsg_bus       16384  0
    videobuf2_common       57344  5 videobuf2_dma_contig,videobuf2_v4l2,v4l2_mem2mem,wave5,videobuf2_memops
    rpmsg_ns               12288  1 virtio_rpmsg_bus
    ptp                    32768  1 am65_cpts
    snd_pcm               126976  6 snd_soc_davinci_mcasp,snd_soc_hdmi_codec,snd_soc_tlv320aic3x,snd_soc_simple_card_utils,snd_soc_core,snd_pcm_dmaengine
    rpmsg_core             20480  4 virtio_rpmsg_bus,rpmsg_char,rpmsg_ctrl,rpmsg_ns
    videodev              245760  3 videobuf2_v4l2,v4l2_mem2mem,wave5
    snd_timer              36864  1 snd_pcm
    pps_core               20480  1 ptp
    phy_gmii_sel           16384  0
    mc                     49152  4 videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
    snd                    86016  4 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
    sa2ul                  32768  0
    soundcore              12288  1 snd
    omap_mailbox           12288  2
    mcrc64                 12288  0

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

    尊敬的 Wilson:

    新年快乐!

    文件系统中存在图形库和二进制文件。 您需要在运行应用程序之前插入模块。  

    在 init 脚本中、您会看到在运行 Kmscube 应用程序之前、我使用 insmod 插入了 pvrsrv.ko 模块。

    希望这对您有所帮助!

    此致、

    Suren

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

    您好、Suren、

    新年快乐!!

    从 SD 引导并找到 pvrsrvkm.ko (/lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/updates/pvrsrvkm.ko)的路径<-由 Yocto 构建。

    然后、从 OSPI 引导、运行 insmod、然后系统报告"Invalid module"(模块格式无效)。

    [BOOTLOADER_PROFILE] Boot Media       : FLASH
    [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz
    [BOOTLOADER_PROFILE] Boot Image Size  : 14392 KB
    [BOOTLOADER_PROFILE] Cores present    :
    hsm-m4f0-0
    mcu-r5f0-0
    a530-0
    [BOOTLOADER PROFILE] System_init                      :       2221us
    [BOOTLOADER PROFILE] Board_init                       :          4us
    [BOOTLOADER PROFILE] FreeRtosTask Create              :        260us
    [BOOTLOADER PROFILE] SBL Drivers_open                 :        932us
    [BOOTLOADER PROFILE] SBL Board_driversOpen            :        134us
    [BOOTLOADER PROFILE] App_loadImages                   :       3657us
    [BOOTLOADER PROFILE] App_loadMCUImages                :       4134us
    [BOOTLOADER PROFILE] App_loadLinuxImages              :     116260us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     127605us
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.6.32 (wilson@sdk) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 13.3.1 20240614, GNU ld (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 2.42.0.20240614) #1 SMP PREEMPT Tue Jan  7 14:01:56 CST 2025
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: Texas Instruments AM62P5 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.106867] omap-mailbox 29020000.mailbox: no available mbox devices found
    [    0.114035] omap-mailbox 29030000.mailbox: no available mbox devices found
    [    0.195146] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.203563] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    [    0.225783] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@0/ports
    [    0.234272] OF: graph: no port node found in /bus@f0000/dss@30200000/oldi-txes/oldi@1/ports
    INIT: version 3.04 booting
    Starting udev
    [    2.135464] pvrsrvkm: version magic '6.6.44-ti-01478-g541c20281af7-dirty SMP preempt mod_unload aarch64' should be '6.6.32 SMP preempt mod_unload aarch64'
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Fri Mar  9 12:34:56 UTC 2018
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    no connected connector!
    failed to initialize legacy DRM
    INIT: Entering runlevel: 5misc/rtc': No such file or directory
    Configuring network interfaces... ip: SIOCGIFFLAGS: No such device
    ip: SIOCGIFFLAGS: No such device
    Starting syslogd/klogd: done
    
    Poky (Yocto Project Reference Distro) 5.0.5 am62pxx-evm /dev/ttyS2
    
    am62pxx-evm login: root
    
    WARNING: Poky is a reference Yocto Project distribution that should be used for
    testing and development purposes only. It is recommended that you create your
    own distribution for production use.
    
    root@am62pxx-evm:~# kmscube
    no connected connector!
    failed to initialize legacy DRM
    root@am62pxx-evm:~# insmod pvrsrvkm.ko
    insmod: ERROR: could not load module pvrsrvkm.ko: No such file or directory
    root@am62pxx-evm:~# insmod /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/updates/pvrsrvkm.ko
    [   76.364092] pvrsrvkm: version magic '6.6.44-ti-01478-g541c20281af7-dirty SMP preempt mod_unload aarch64' should be '6.6.32 SMP preempt mod_unload aarch64'
    insmod: ERROR: could not insert module /lib/modules/6.6.44-ti-01478-g541c20281af7-dirty/updates/pvrsrvkm.ko: Invalid module format

    我们的 SDK 是10.0.0.14、它的 Linux 内核版本是6.6.6.6.32。 我们是否应该转到10.1.0.33? 刚刚检查了 SDK 10.1.33中的内核版本是6.6.58、而不是6.6.44。

    或者、我们应该在 Yocto 的 linux-ti-stage_6.6.6.bb 中将 PV 版本修改为"6.6.6.6.32+git"? 如果是、请建议使用 SRCREV。

    谢谢!

    Wilson Hung

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

    是的威尔逊, 这个问题的内核不匹配的图形驱动程序编译不同的版本和实际的内核是不同的。  

    您应该在 Yocto 中修改 PV 版本并尝试一下。

    此致、

    Suren