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:LDC 节点分段故障

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127248/tda4vm-ldc-node-segmentation-fault

器件型号:TDA4VM

您好!

我对 LDC 节点处理有疑问。 我使用 所附相关链接中提到的方法 为 IMX623摄像头生成我的网格 LUT 硬件版本。 我确保使用 与 IMX623相对应的正确规格文件。

我在此附上使用的输入图像,MATLAB 生成的网格 LUT ( mesh.txt )和相应的 DCC 工具生成的网格 LUT 硬件版本( IMX623_mesh_lut.txt )。  

e2e.ti.com/.../2100.mesh.txt   e2e.ti.com/.../IMX623_5F00_mesh_5F00_lut.txt   e2e.ti.com/.../Input_5F00_image.zip

我使用生成的 IMX623_mesh_LUT 作为 LDC 节点的 LUT。 下面是我们编写的用于自己应用的 LDC 节点。 当我在 EVM 上运行时、我在中遇到分段故障
(第40行) status = vxCopyImagePatch (mesh_img、&rect、0、ℑ Ω_addr、LDC_LUT、Vx_write_only、 vx_memory_type_host);

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void NodeGraphProcessing::lDCprocessing(vx_context context)
{
vx_status status = VX_SUCCESS;
vx_image ldc_in_image = getInputImage();
GraphBaseInfo graphBaseInfo = {getGraph(), getContext()};
GraphNodeGenerator mGraphNodeGenerator(graphBaseInfo);
GraphNodeCommon *GraphCommonNode = new GraphNodeCommon();
vx_image mesh_img = NULL;
vx_rectangle_t rect;
vx_image ldc_out = NULL;
uint32_t table_width, table_height;
vx_imagepatch_addressing_t image_addr;
vx_user_data_object mesh_params_obj;
tivx_vpac_ldc_mesh_params_t mesh_params;
tivx_vpac_ldc_region_params_t region_params;
vx_user_data_object region_params_obj;
tivx_vpac_ldc_params_t ldc_params;
vx_user_data_object ldc_param_obj;
vx_node node_ldc;
table_width = (((1936 / (1 << 2)) + 1u) + 15u) & (~15u);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


我不能完全确定为什么这会在这里失败。 LUT 的生成方式是否存在故障,或者我是否在此处遗漏了某个内容? 您能不能建议进行任何更改或测试、我可以尝试对此进行调试?

谢谢你
-普拉希克沙

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

    大家好  ,我是否可以就上述问题获得任何支持?

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

    大家好

    我看到您正在将 LUT 指针传递给该 API。 该 LUT 是否有效并以正确的大小分配? 请您检查一下吗?  

    由于此 API vxCopyImagePatch 仅从 LUT 地址复制到图像缓冲区、因此如果 LUT 不起作用、则会在 Linux 上导致 SEG 故障。

    此致、

    Brijesh

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

    是的、LUT 有效。 我将其作为头文件附加、并将其包含在主代码中、如所示

    #include "LDC_LUT_1936x1552.h"
    静态 uint16_t LDC_LUT[]= LDC_LUT_1936_1552;

     e2e.ti.com/.../ldc_5F00_lut_5F00_1936x1552.h


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

    大家好

    根据我们与 Gang 的内部讨论、此问题已得到解决、因此关闭此 TT。  

    此致、

    Brijesh