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/processor-SDK-TDAX:无法使用 VISION SDK 在 TDA2x 上运行 OpenCL 示例

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/701099/linux-processor-sdk-tdax-failed-to-run-opencl-examples-on-tda2x-using-vision-sdk

器件型号:PROCESSOR-SDK-TDAX

工具/软件:Linux

您好!

Vision SDK 版本:processor_sdk_vision_03_03_00_00

我已经按照 TDA2x 用户指南中给出的所有步骤操作。  

MAKCONFIG?=tda2xx_evm_linux_opencx

系统路径中存在 TI-CGT-C6000_8.1.0/BIN 路径

构建 Linux

使 Linux_install

使–s–j 取决于

使–s–j  

构建成功。

另外,对于闪存 SD 卡,我按照同一用户指南中给出的步骤进行操作。

电路板正在成功引导。

我 无法执行此示例/usr/share/ti/examples/opencl/vecadd、获取 ti-mctd 的 cmem 错误

当我 运行时:./ti-mctd

错误:CmemAllocator::CmemAllocator():断言`mSMC_ALLOC_DSP_addr_== MSMC_addr'失败。

我在此处附加了引导日志以了解更多信息。

我的主要目的是在 OpenCL 开启和 OpenCL 关闭的情况下运行简单的 OpenCV 示例、以在 DSP 卸载的情况下检查 OpenCV 性能。

我也尝试过

MAKECONFIG?=tda2xx_EVM_Linux_ALL。  

我遇到相同的错误。

日志中的错误:

12月27日23:07:49 dra7xx-EVM systemd-module-load[157]:找不到模块'cmemk'
12月27日23:07:49 dra7xx-EVM systemd-module-load[157]:找不到模块'cryptodev'
12月27日23:07:49 dra7xx-EVM systemd-module-load[157]:找不到模块'gdbserverproxy'
12月27日23:07:49 dra7xx-EVM systemd-module-load[157]:找不到模块'uio_module_drv'

6月20日10:05:01 dra7xx-EVM ti-mctd[721]:CMEM 错误:init:无法打开/dev/cmem:"无此类文件或目录"
6月20日10:05:01 dra7xx-EVM ti-mctd[721]:TI-mctd:/jenkins/psdkla-krogoth/release/dra7xx/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/dra7xx_evm-linux-gnueabi/opencl/1.1.12.0-r0.0/git/host/mct-demon/cmem_allocator.h:63:CmemAllocator:::CmemAllocator():Assertion `status!=-1'失败。

Sagar

e2e.ti.com/.../1205.log.txt

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

    您的文件系统中似乎缺少 cmem.ko 模块。
    请按照 VisionSDK_UserGuide_opencx.pdf 中的"1.1 building cmem"一章(并在此处提到 wiki 和 VisionSDK_Linux_UserGuide.pdf)来构建和安装 cmem 模块。

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

    是 cmemk.ko 还是 cmem.ko
    我可以看到、cmemk.ko 已生成、并且存在于/opt/vision_sdk 文件夹中

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

    我可以看到3个文件夹

    /media/ee209200/rootfs/lib/modules/4.4.84-00105-gc66ba60-dirty/extra
    - cmemk.ko 不存在

    /media/ee209200/rootfs/lib/modules/4.4.84-00105-gc66ba60e1092-dirty/extra
    - cmemk.ko 不存在

    /media/ee209200/rootfs/lib/modules/4.4.84-g742f84423d/extra
    -此处存在 cmemk.ko

    从引导日志中,我们可以看到主板已选择 Linux 版本4.4.4.84-00105-gc66ba60-脏 来加载模块。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sagar、

    你是对的-它是 cmemk.ko。
    您是否按照 VisionSDK_Linux_UserGuide.pdf 中"4.3运行演示"中的步骤进行了操作-需要运行一些脚本、例如"load_ocl_kos.sh"、"OpenCL_env.sh"等、以便为 OpenCL 用例准备环境。

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

    我也尝试过这种方法。
    ------------------------------------------------------
    load_ocl_kos.sh

    root@dra7xx-EVM:/opt/vision_sdk。/load_ocl_kos.sh
    已打开日志文件:lad.txt
    numProcessors = 5 id = 0 baseId = 0
    衍生守护程序:/usr/bin/lad_dra7xx
    [177.418655] CMEMK 模块:参考 Linux 4.4.84版
    [177.427058]分配的堆缓冲器0x40400000、大小为0x100000
    [177.433373] cmemk 已初始化
    ------------------------------------------------------

    root@dra7xx-EVM:/opt/vision_sdk source opencl_env.sh

    ------------------------------------------------------
    CAT /proc/cmem

    root@dra7xx-EVM:/usr/share/ti/examples/opencl/vecadd cat /proc/cmem
    块0:池0:1 bufs 大小0x4000000 (请求0x3ffff)
    池0忙缓冲区:
    ID 0:phys addr 0xa9000000 (缓存)
    池0免费 bufs:
    ------------------------------------------------------
    TI 喷塑

    root@dra7xx-evm:/opt/vision_sdk ti-mctd
    [271.456658] CMEMK 错误:ALLOCCACHED:池0没有可用的可用缓冲区
    CMEM 错误:LOPool:ioctl CMEM_IOCALLOCCACHED 从池0:-1失败
    TI-mctd:/jenkins/psdkla-krogoth/release/dra7xx/yocto/tisdk/build/arago-tmp-external-linaro-toolchain/work/dra7xx_evm-linux-gnueabi/opencl/1.1.12.0-r0.0/git/host/mct-demon/cmem_allocator.h:80:CmemAllocator::CmemAllocator ():断言`ddr_alloc_dsp_addr_= DDR_addr'失败。
    已中止(转储内核)
    ------------------------------------------------------
    运行 OpenCL vecadd 示例

    root@dra7xx-evm:/usr/share/ti/examples/opencl/vecadd。/vecadd
    [452.418218] CMEMK 错误:ALLOCCACHED:池0没有可用的可用缓冲区
    CMEM 错误:LOPool:ioctl CMEM_IOCALLOCCACHED 从池0:-1失败
    TIOCL 致命错误:无法从 CMEM 块0分配0x4000000、分配0x0


    我猜错误是由于启动期间未加载 ti-mctd 所致。 因为、ti-mctd 应在引导时根据另一个 e2e 线程加载和初始化、以使 OpenCL 正常工作。

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

    我不确定这个错误、我有 Ping VisionSDK 专家帮助我如何运行 OpenCL。

    此致、
    Yordan