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.

[参考译文] RTOS/AWR1642:当我设置配置时、AWR1642崩溃。

Guru**** 2608985 points
Other Parts Discussed in Thread: AWR1642

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/662659/rtos-awr1642-when-i-set-a-configuration-the-awr1642-crashed

器件型号:AWR1642

工具/软件:TI-RTOS

如果我设置了 Frame-periodicity in ms -> 600并设置 guiMonitor->-1 1 1 0 1 1 1。
AWR1642可以正常工作、显示正常。

当我将 帧周期以 ms 为单位变化时-> 500。
AWR1642 崩溃、它也 无法再接收 配置 。

这是否因为 MmwDemo_mboxReadTask 的工作时间不足以处理?
还是线性调频脉冲周期时间 不足以应对?

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

    是的、这可能是发生碰撞的原因之一。 UART 可能没有足够的时间传输在 guiMonitor 中选择的所有数据。

    毫米波 SDK 演示使用一个标志来等待 UART 传输完成、然后再开始下一帧。 如果 UART 传输在下一帧开始时未完成、则代码将执行异常、演示将崩溃。

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

    如何阻止它崩溃?
    当 UART 传输在下一帧开始之前未完成时?
    或者、是否有任何方法可以让它在崩溃时重新启动?

    此致、
    Juiyang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请告诉我们您正在使用哪种类型的应用、以及您希望使用 AWR1642实现什么目标

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

    我将毫米波演示与 AWR1642结合使用。

    当 UART 传输未在下一帧的开头完成时、
    它将崩溃。
    我希望我们能够做到以下几点。

    1.是否有办法避免碰撞?

    2.当它崩溃时,它将自行重新启动。




    此致、
    Juiyang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为、为了让您的项目取得进展、您需要了解这些变化如何影响毫米波演示的行为。

    请在此论坛中搜索有关线性调频脉冲配置的其他主题。



    您还可以尝试注释掉 UART 传输完成的检查。 -参见下文。

    静态空 MmwDemo_dsFrameStartIntHandler (uintptr_t arg)

    if (gMmwDssMCB.state = MmwDemo_DSS_State_Stopped)

    gMmwDssMCB.stats.frameIntSkipCounter++;
    返回;


    if (gMmwDssMCB.state = MmwDemo_DSS_State_stop_pending)

    /*停止时钟、因为 DSP 将在此活动帧结束时停止*/
    Clock_stop (gMmwDssMCB.frameClkHandle);


    /*检查先前的线性调频脉冲处理是否已完成*/
    //不再检查 UART 传输是否已完成
    // DebugP_Assert (gMmwDssMCB.dataPathObj.interFrameProcToken = 0);
    gMmwDssMCB.dataPathObj.interFrameProcToken++;

    /*递增中断计数器以用于调试目的*/
    gMmwDssMCB.stats.frameStartIntCounter++;

    /*用于通知帧启动中断的 POST 事件*/
    EVENT_POST (gMmwDssMCB.eventHandle、MMWDEMO_FRAMESTART_EVT);


    谢谢你
    Cesar