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.

[参考译文] TDA2EVM5777:OpenCV 用例只能在 A15上运行?

Guru**** 2536830 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/589951/tda2evm5777-opencv-usecases-can-be-run-only-on-a15

器件型号:TDA2EVM5777

您好!

在 VISION_SDK 下、有一个适用于 TDA2xx 电路板的 OpenCV 用例(opencvCanny)。

在用例中、A15内核用于运行 OpenCV canny 算法。

只有 A15可以运行 OpenCV 算法、还是也可以在 DSP 内核上运行?

请建议。

谢谢、

Suganthi

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

    在 VisionSDK 发行说明中、说明:
    "对于 OpenCV 和 OpenCL、这是具有有限测试(Alpha 质量)的初始版本。"

    有几个函数被卸载到 DSP 中、您可以在中查看更多信息:
    \ti_components\Algorithms_codec\OpenCV\OpenCV-3.1.0\docs\OpenCV_cross_compile_steps _for_A15_*.pdf

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

    感谢您提供信息。 因此、在内部、只有部分 OpenCV 功能被加速以便在 DSP 内核上运行。

    我能否创建自己的算法插件并在该插件中使用 OpenCV API 并使用 DSP 内核来实现算法?
    具有 OpenCV API 的算法是否必须在 A15内核上运行?

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

    我已邀请 OpenCL/OpenCV 专家发表评论。

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

    您好!

    我尝试在 vision_SDK 中为 tda2xx 板启用"OpenCL_include"和"enable_OpenCV"、并遇到以下错误。

    错误:重新定义符号"edma3OsSemTEake":首先在中定义

    "C:\vision_sdk_02_12_00_00\ti_componels\Algorithms_codecs\framework_compone

    NTS_3_40_02_07\packages/ti\sdo <edma3_config.

    oe66>";在中重新定义

    "C:/vision_sdk_02_12_00_00/vision_sdk/binaries/tda2xx_evm_BIOS_all/lib/tda2x

    X-EVM/c66xdsp_1/release/vision_sdk_lib.ae66 "

    错误:重新定义符号"edma3OsSemGive":首先在中定义

    "C:\vision_sdk_02_12_00_00\ti_componels\Algorithms_codecs\framework_compone

    NTS_3_40_02_07\packages/ti\sdo <edma3_config.

    oe66>";在中重新定义

    "C:/vision_sdk_02_12_00_00/vision_sdk/binaries/tda2xx_evm_BIOS_all/lib/tda2x

    X-EVM/c66xdsp_1/release/vision_sdk_lib.ae66 "

    错误:重新定义符号"edma3OsProtectEntry":首先在中定义

    "C:\vision_sdk_02_12_00_00\ti_componels\Algorithms_codecs\framework_compone

    NTS_3_40_02_07\packages/ti\sdo <edma3_config.

    oe66>";在中重新定义

    "C:/vision_sdk_02_12_00_00/vision_sdk/binaries/tda2xx_evm_BIOS_all/lib/tda2x

    X-EVM/c66xdsp_1/release/vision_sdk_lib.ae66 "

    警告:输出段".fardata"是指加载符号"OCL_L1D_mem_start"

    因此无法压缩;压缩"rle"会被忽略

    "C:/vision_sdk_02_12_00_00/vision_sdk/binaries/tda2xx_evm_BIOS_all/obj/vision_sd

    k/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/linker_mod.cmd"、第265行:e

    镜像:

    程序将不能放入可用的内存中。 定位失败

    对于".cinit"大小为0x5cb1e0的段。 可用存储器范围:

    DSP1_DATA_MEM 大小:0xc00000未使用:0x356ef5最大孔:0x356e00

    "C:\vision_sdk_02_12_00_00\ti_components\OpenCL_RTOS_am57xx_01_10_00\packages

    \ti\OpenCL\usr\share\ti\OpenCL\sym.def"、第117行:错误:

    MEM_SIZE (L1DSRAM、0)具有无效的存储器范围或页。

    "C:\vision_sdk_02_12_00_00\ti_components\OpenCL_RTOS_am57xx_01_10_00\packages

    \ti\OpenCL\usr\share\ti\OpenCL\sym.def"、第118行:错误:

    MEM_START (L1DSRAM、0)具有无效的存储器范围或页。

    警告:输出段".fardata"是指加载符号"OCL_L1D_mem_start"

    因此无法压缩;压缩"rle"会被忽略

    ELFLLNK/table.c:4141:内部致命错误#10225:(.cinit、.fardata.load)

    此应用程序已请求运行时以异常方式终止它。

    有关详细信息、请联系应用程序的支持团队

    内部错误:C:/vision_sdk_02_12_00_00/ti_compons/cG_tools/windows/c6000_7

    4.2/bin/lnk6x 中止

    这是一个严重的问题。 请联系客户支持以获取此消息和输入文件的副本

    并帮助我们继续使工具更可靠。

    gmaked[6]:***[C:/vision_sdk_02_12_00_00/vision_sdk/binaries/tda2xx_evm_BIOS_all

    /vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66]错误2.

     

     

    请建议。

     

    谢谢、

    Suganthi

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

    您好!

     这是哪个 VISION SDK 配置? (Linux 或 BIOS)?

    此外、无需显式启用"OpenCL_include"和"enable_OpenCV"

    尝试使用 tda2xx_evm_linux_opencx 或 tda2xx_evm_BIOS_opencx 配置。

    在更改配置的同时、执行全新构建。

    谢谢和 Rgds

    Suriya Narayanan L

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

    OpenCV 仅在 ARM A15上移植。

    因此、是的、任何 OpenCV API 都将始终在 A15上运行。

    根据 OpenCL 实现的可用性、A15可以使用 OpenCL 将其卸载到 DSP。

    执行此卸载的一个示例用例是 opencvopdilenclation。

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

    感谢您提供信息。
    我将 VISION_SDK 用于 BIOS。
    我们需要 OpenCV 用例以及其他用例、如物体检测等。
    因此、我启用了 OpenCV 和 OpenCL 并使用 tda2xx_EVM_BIOS_all。

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

    我们可以同时启用 tda2xx_EVM_BIOS_all 和 tda2xx_EVM_BIOS_opencx?

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

    您只能启用其中一个配置。 您可以比较以下各项的内容:

    \vision_sdk\configs\tda2xx_evm_BIOS_opencx
    \vision_sdk\configs\tda2xx_evm_BIOS_all

    目录、以了解两个配置之间的差异。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我找到了您关于在 TI 的 TDA2X 平台上启用 OpenCV 功能的讨论。 我是否可以参考任何材料? 目前、我在将一些用 OpenCV 编写的计算机视觉算法移植到 TI 的 TDA2X 平台时遇到了同样的问题。 基本上、我有两个问题:
    1.是否可以在 TI 的 TDA2X 平台上启用 OpenCV 功能?
    2.哪一版本更易于启动 Windows 或 Linux?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉耽误你的回答。
    1.可以在 TDA2X 上启用 OpenCV。
    2.您可以查看此文档:
    /vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_opencx.pdf
    有关 OpenCV (适用于 VisionSDK 的 Linux vesrion)的说明

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

    Yordan、您好!

    感谢您的回复。 我遵循 VisionSDK_UserGuide_opencx.pdf、首先构建 cmen 模块、然后在 运行这些示例用例之前加载 cmen 模块。

    除了错误"内部错误:消息队列数量(1)与计算单元数量(2)不匹配"之外、其他一切都运行良好。 下面显示了更详细的日志。 您能告诉我此问题的潜在原因吗? 我花了很多时间尝试弄清、但我只能猜测、目前我无法取得任何进展。  

    没有太多的参考电压。  

    对于我的配置、我只需设置"MAKECONFIG=tda2xx_EVM_Linux_opencx"、我没有对其他配置进行任何更改。 我想提出糖果用例、这样我就可以根据这个编写自己的算法插件。 但是,我一开始就被卡住了。 为什么 SDK 中不能使用默认用例? 这是真正的有线连接。

    谢谢。

    云鹏

    附加文件:

    1.发生错误的日志

    2.日志显示了 opencx 配置菜单

    启动的 dmesg

    e2e.ti.com/.../8816.dmesg.txt

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

    您好、Yunpeng、


    请提供/opt/vision_sdk.中的脚本'OpenCL_env.sh'


    这基本上会导出值为"0"的环境变量 TI_OCL_COMPUT_UNIT_LIST。

    有关 OpenCL env 变量的更多信息、请单击此处


    谢谢、此致

    Suriya Narayanan L

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

    您好 Suriya、

    非常感谢您的回复。 您可以帮助我解决此问题。

    此致、

    云鹏