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:如何在不同队列上使用多种算法?

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647127/tda2evm5777-how-to-use-multiple-algorithm-on-different-queue

器件型号:TDA2EVM5777

 我们使用的是 tda2xx EVM

我们的目标是

1)在多阿玛拉用例上应用 LUT 表

2) 2)从 LUT 应用的输出中裁剪7帧、并在更贴片的位置显示

UseCase:chains_lvdsVipMultiCamViewMosaicWithLut

Capture -> DUP -> VPE -> Sync -> Alg_DmaSwMsLeftWithLeftLut (A15)-> Merge (采集->重复)

DUP ->合并

合并-> DUP _2

DUP_2 -> ALG_CROP11 (DSP1)-> Merge

DUP _2 -> Alg_crop12 (DSP1)-> Merge _1

DUP_2 -> ALG_CROP21 (DSP1)-> Merge

merge_1 -> Display_videoro

GrpxSrc -> Display_GRPX

这是我的流程

我所面临的问题

1) 1)如何将两个输入缓冲器合并到单个输出缓冲器中?

2) 2)我将 CROP 的寄存器 algid 保存到其受尊重的 init app_init_dsp.c 文件中、但仍然会给我带来错误。 我在下面有 atteched 日志

3) 3)在 DSP 中获取 MDMA 错误无效内存访问

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

    我已将您的问题转交给 VisonSDK 专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    您使用的 VSDK 版本是什么?
    您的链/数据流在逻辑上是正确的。

    您所面临的问题

    1) 1)如何将两个输入缓冲器合并到单个输出缓冲器中?

    使用合并链接:它仅从2个或更多差动输入 Q 中挑选缓冲器、并在单个输出 Q 上输出所有流。 请注意、这些缓冲区仍然没有物理合并。 假设您有2个输入 Q、每个输入 Q 为1通道(inQ0 ch0 & inQ1 ch0)、然后使用合并链接、您可以使用2个通道(例如 ch0和 ch1缓冲器)实现1个输出 Q (带有 ch0和 ch1的 outQ0)。 检查这是否适合您。 如果您确实需要实际合并缓冲区、则需要创建 ALG 链接以执行相同操作

    2) 2)我将 CROP 的寄存器 algid 保存到其受尊重的 init app_init_dsp.c 文件中、但仍然会给我带来错误。 我在下面有 atteched 日志

    请检查您是否正确完成了 ALG 链接重定向。 您可能错过了一些集成步骤。 检查此问题的一种更简单的方法是"只需为 SDK 中存在的一个现有"ALG 插件名称"执行 grep 操作、并确保您也为 Alg 插件执行所有这些步骤(例如进行文件、源文件、头文件更改等以进行集成)


    3) 3)在 DSP 中获取 MDMA 错误无效内存访问

    您是否在存储器映射中进行了任何更改?
    或者您应该检查非缓存缓冲区分配部分。 当 IPU 分配非缓存共享区域时、地址是 IPU 中的虚拟地址、可能未映射到 DSP... 除非 Lisa 将存储器映射到与 IPU 所看到的相同的 DDR 位置、否则在访问此地址时 DSP 将会发生故障。

    此致、Shiju