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.

[参考译文] TDA4AL-Q1:PSDK11.2 符合性测试用例 tivxGraph.GraphPipelineDepth 失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1620815/tda4al-q1-psdk11-2-conformance-test-case-tivxgraph-graphpipelinedepth-is-failing

器件型号: TDA4AL-Q1

您好、

日志:

[ -------- ] tests from tivxGraph
[ RUN 0001 ] tivxGraph.GraphPipelineDepth ...
 96044.611056 s: VX_ZONE_ERROR: [vxSetGraphAttribute:652] pipeline depth greater than max allowed pipeline depth
 96044.611102 s: VX_ZONE_ERROR: [vxSetGraphAttribute:653] May need to increase the value of TIVX_GRAPH_MAX_PIPELINE_DEPTH in include/TI/soc/tivx_config_j721s2.h

FAILED at /buildarea/hhe/vxae_psdk/vxworks_ae/workspace/VSB-ti_tda4/3pp/TIOVX/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/tiovx/conformance_tests/test_tiovx/test_graph.c:1910
        Expected: VX_ERROR_INVALID_PARAMETERS == vxSetGraphAttribute(graph, VX_GRAPH_PIPELINE_DEPTH, &invalid_pipeline_depth, sizeof(vx_uint32))
        Actual: VX_ERROR_INVALID_PARAMETERS != VX_ERROR_INVALID_VALUE

我理解此测试用例正在验证图形的流水线深度属性是否为 vx_uint32 类型、输入参数 INVALID_PUBLE_DEPTH 是否为 Vx_INT8 类型、因此将使 vxSetGraphAttribute 返回 vx_ERROR_INVALID_PARAMETERS。

代码片段:

image.png

image.png

image.png

我不太明白此 vx_check_param 的工作原理、它会在 ptr 类型为 vx_int8 * 或 vx_uint32 *时通过

image.png

image.png

你有任何线索吗?

谢谢!

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

    尊敬的 Hailong:

    [quote userid=“614131" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1620815/tda4al-q1-psdk11-2-conformance-test-case-tivxgraph-graphpipelinedepth-is-failing *我不太了解此 vx_check_param 的工作原理、它会在 ptr 类型为 vx_int8 * 或 vx_int32 *时传递

    因此、思路是当您创建 vx_int 类型的变量时、分配给该变量的存储器地址可以是 32 位字中的任何字节。

    例如、  
    0xXXXXXXX4
    0xXXXXXXX5
    0xXXXXXXX6
    0xXXXXXXX7
    0xXXXXXXX8


    x ->可以是任意数字

    如果 uint8_t 变量是在地址 X5 或 X6 或  X7 处分配的、则对齐检查 (ptr 和 0x03) 将给出非零值、这意味着它未对齐。 然后、API 将返回 vx_error_invalid_parameters。 对于所有 uint32_t 变量、分配的地址将在 X0、X4、x8 或 XC 中。

    但可能存在 uint8_t 可以分配到 X4 和其他对齐的地址的情况。 我认为符合性测试中没有达到这个条件。 让我与开发团队核实一下、然后返回给您。

    当我尝试运行测试时、Vx_INT8 变量分配在 0xXXXXXXX7、测试按预期通过。 但这并未涵盖所有可能的情况。

    此致、
    Gokul

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

    尊敬的 Gokul:

    感谢您的解释。 现在我明白了问题的关键。

    我想知道这是否由一些编译选项控制以进行对齐。 在这种情况下、您可以与我分享构建 TI PSDK 时使用的设计。

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

    尊敬的 Hailong:

    没有专门的编译选项、uint8_t 是 1 字节对齐、因此可以在任何与 32 位对齐或未对齐的地址中分配。

    我将为此特定测试用例创建一个内部 Jira。

    此致、
    Gokul

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

    尊敬的 Hailong:

    我创建了 Jira jira.itg.ti.com/.../TIOVX-2510  

    此致、
    Gokul