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.

[参考译文] AWRL1432:程序卡在 mm_demo 序列中

Guru**** 2548830 points
Other Parts Discussed in Thread: AWRL1432, SYSCONFIG

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1536302/awrl1432-programme-stuck-in-mmw_demo-sequence

器件型号:AWRL1432
主题: SysConfig 中讨论的其他器件

工具/软件:

您好、专家

我们有一个基于 mm_demo 示例的程序。

我们的项目有三个 FreeRTOS 任务。 最高优先级任务是 DPC、最低优先级任务负责 UART 输出消息。

现在、我们需要将 UART 输出消息方法从之前的 CPU 占用输出升级到 ISR 中的 EDMA 输出。  

程序正常运行 、但会在 1-2 小时内卡住。

调查后、程序卡在 DPU_Aoa2dProc_Process::SemaphoreP_Pend (&obj->hwaDoneSemaHandle、SystemP_WAIT_FOREVER) 函数中、也会 由于 DPU_CFARProcHWA_Process 函数的返回值而生效。

目前的怀疑点是 HWA 的 EDMA 与 UART 的 EDMA 之间存在冲突。 请分析可能的原因或确定方向、或者在同时使用 EDMA 资源时、应避免哪些配置项目。

这是我们的 syscfg:

期待您的回答

谢谢!

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

    补充说明:UART 每 100ms 通过 EDMA 接收 71 个字节的数据、并 在接收到完整数据后向 UART EDMA 发送 680 字节的数据。 整个过程在 EDMA ISR 中执行

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

    您好、

    感谢您通过 E2E 发布您的问题。 请允许我们的软件专家在一到两个工作日内回复。  

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

    另一个请求:如果发生错误(DPC 序列卡住),在将符号加载到项目中时,是否有任何可以检查的信息?

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

    还有一个 问题:  
    根据我的理解、当 UART EDMA 连接到 EDMA_APPSS_A 时、它已经从硬件资源方面与 HWA 使用的 EDMA 分离。 您能否帮助确认并确定 EDMA 资源冲突是否导致了 DPC 任务无法获取 Hwa SEM 的问题?

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

    您好、Joey:

    很抱歉耽误了我的时间,我刚从一个国际旅行回来。  

    您能为我提供有关这项工作的更多背景信息吗?  您正在尝试处理什么最终项目?  例如、用于盲点检测的手势识别、生命体征和角雷达。   

    此致、

    Zigang  

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

    您好 Zigang
    我们的雷达用于盲点检测。  
    经过一段时间的调查,发现 Hwa EDMA 中断成功或 UART EDMA 中断无效,所以我们怀疑 EDMA 配置存在资源冲突。

    我们的 AFE 建议区分 EDMA0/1 的参数 ID。 因此、我们进行了以下配置:
    HWA EDMA:
    ...

    UART EDMA:

    ...

    我们在 初始化时勾选了 EDMA Use max paramID 为 65。

    在 重现此问题时、是否有任何关于如何激发此问题的建议或我可以做些什么(在连接 soc 时,我可以读取哪些变量)?


    期待您的回复。

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

    syscfg 正在播放:

    UART EDMA

    HWA EDMA

    其他 EDMA 配置为默认设置。

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

    您好、Joey:

    感谢您提供的信息。   我们通常手动分配 EDMA 通道、从不使用 sys config 分配 EDMA。   

    1) 我怀疑编译器会检查 EDMA 资源分配中的任何冲突。  这将是你最好的检查.   

    2) 在引入您的 UART EDMA 之前,所有 EDMA 都是按顺序进行的。   没有重叠。  但经过更改、UART EDMA 可能会及时与 HWA EDMA 重叠。   您可以尝试大幅增加帧时间、并查看问题是否消失。   在重叠时、与 HWA EDMA 相比、UART EDMA 需要设置为较低的优先级。   

    顺便说一下、是基于 TI 的一些演示的工程代码。  如果是、请告知我们此工程基于哪个演示。

    此致、

    Zigang

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

    您好 Zigang

    感谢您的答复。

    根据我的调查、在使用 SDK 代码初始化 UART EDMA 时、将不会指定要使用的特定 paramID。 在初始化过程中只会指定可用的参数 ID。根据您的建议、我们将使用手写代码而不是 SDK 代码。您能提供 手动分配 EDMA 通道的代码示例吗?

    2.被怀疑与 EDMA 资源冲突有关、因为在测试过程中需要花费 1-2 小时、有时需要 10 到 12 小时才能重现“EDMA 中断无法触发“

    Demo 基于“awrl1432_ADAS_BSD_demo_v3.2"</s>“

    您能给出一些 基于 1 和 3 的示例代码吗?  特别是如何选择 UartHandle 的所有参数
    来分离 Hwa EDMA 配置(我们的 Hwa EDMA 配置完全使用演示中的配置)。

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

    嗨、Joey、

    感谢您提供此信息。 并邀请 ADAS 团队提供进一步支持。 请给他们一天或两天的时间来回应。

    此致、

    Kristien

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

    您好、

    首先、您需要将正在使用的演示更新到版本 4.1。 在版本 3.2 中、我们发现了帧重新配置的一些问题。

    您是否有可以提供该版本的 TI FAE 联系人?

    谢谢你
    Cesar

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

    您好 Cesar

    感谢您的答复。

    您能描述什么是“帧重新配置问题“吗? 我们验证了演示 3.2 是否通过了雷达测试。 如果在运行雷达时没有重大问题,我们仍将使用 demo3.2。 因此、请先详细告诉我问题、谢谢。

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

    您好 

    感谢您邀请 Cesar 为我们的问题提供支持。

    我想您可以提供一些 UART EDMA 配置的演示代码、并首先根据我们上次的对话、它与我使用的演示版本不冲突。 如有任何疑问、请尽早与我联系。

    期待 您的回复。

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

    您好、

    该 SDK 中有一个 UART 和 DMA 示例。 您能看一下吗?

    C:\ti\mmwave_L_sdk_05_05_03_00\examples\drivers\uart\uart_echo_dma

    谢谢你
    Cesar

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

    您好、Ceasr
    实际上、我已经在演示中使用了代码、但根据我与济钢杨的对话、我需要配置 UART EDMA、即“手动分配 EDMA 通道“、而不是 syscfg 代码。 您能证明一些演示代码吗?
    期待您的回复

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

    您好、

    演示 3.2 存在多个问题

    首先、我们注意到、当我们运行演示 22.5 小时时、演示将在距离处理以完成信标时挂起。 它始终围绕相同的帧数+/- 10 帧。 禁用帧重新配置后、不会发生此问题。

    我们遇到的另一个问题是与错误的 Vmax 扩展有关,该扩展会产生虚假图像。

    谢谢你
    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ceasr
    实际上、我已经在演示中使用了代码、但根据我与济钢杨的对话、我需要配置 UART EDMA、即“手动分配 EDMA 通道“、而不是 syscfg 代码。 您能证明一些演示代码吗?
    期待您的回复

    您好 Joey:

    我和 Zigang 谈过这件事。 下面是我们的结论:使用 SysConfig 初始化 EDMA 并不是错误的、只要我们确保 SysConfig 配置不使用在 BSD 演示中手动分配的 EDMA 通道即可。  

    您在之前的通信中分享了 UART 使用的 EDMA 通道与 HWA 使用的 EDMA 通道不同。 此外、如果代码运行 1 小时、则不会出现此问题。

    我认为第一步是使用新版本 4.1。 如果问题仍然存在、则需要更改代码、以便重现问题。