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.

[参考译文] TDA4VM:用户内核实现

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506056/tda4vm-user-kernel-implementation

器件型号:TDA4VM

工具/软件:

尊敬的专家:

我们一直在尝试编写自己的用户内核、目前我们已成功创建了使用为 C66 DSP 编译的 PyTiovx 的框架。

用户内核可以处理一个映像(从文件读入并写出结果)。 但是、当我们尝试将该用户内核集成到 Tiovx 流水线时、经过几帧后、处理会停止、显示屏上的图像会冻结。 另外、流水线也冻结、整个图形似乎暂停。

几点:

-我们只在创建内核回调函数的 TIVX_MEM_EXTERNAL 上分配内存。

-我们只在过程函数中进行处理,我们目前不调用任何与 VXLIB 相关的函数。 但是、当我只将输入内存块复制到输出时、一切都正常。 只要我尝试进行任何像素操作、图形就会在几帧后冻结(取决于操作的复杂性)。

您能否帮助我将问题本地化、给我一些提示、说明可能有什么问题?

非常感谢您!

此致、

安德拉斯

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

    Andras,

     如果没有更详细的信息、比如、如果它适用于一个帧、  您是否确保不从图像边界访问图像? 图像大小是多少? 这些映像是否分配给缓存大小? 是否有可能访问图像边界之外的像素?  

    此致、

    Brijesh

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

    您好、Brijesh

    请详细说明以下问题:"这些映像是否分配给缓存大小?"

    对于 C66 DSP、图像分辨率为1024*768。

    现在我不确定我们是否做了正确的事情。 此后、我检查了 TI 的其他内核实现、可以看到、存在一些情况、图像数据会手动传输到 L3高速缓存。 我们是否需要手动操作?

    感谢您的回答!

    此致、

    安德拉斯

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

    您好 Andras、

    您能否详细说明以下问题:"这些图像是否分配给缓存大小?"

    我的意思是、这些映像大小是否分配给了高速缓存行大小对齐?  

    您能否请检查您的算法代码以确定它可能导致崩溃的位置?  

    此致、

    Brijesh

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

    您好、Brijesh

    嗯、我们仍在研究该问题、但此时能够在 C66 DSP 上使用任何 printf 函数会很有用。

    我如何才能做到这一点? 我已经阅读了以下文章、尝试了所有解决方案及其组合、但没有任何帮助(ssh 和 UART 上都没有)。

    您能告诉我正确的方向吗?

    为了进行说明、我尝试在创建回调函数中使用 vx_print 与 tivx_set_debug_zone 结合使用、并在后台运行/opt/vx_app_arm_remote_log.out。

    链路1

    链接2.

    此问题的解决方案是什么?

    谢谢!

    此致、

    安德拉斯

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

    您好 Andras、

    我不确定、我们需要 找到快速重现此问题的方法并进行调试以找出问题所在。  

    此致、

    Brijesh