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.

[参考译文] CC1352P:malloc 内无限循环、带 DMM、Zigbee 和 BLE

Guru**** 3003130 points

Other Parts Discussed in Thread: SIMPLELINK-CC13X2-26X2-SDK, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1012688/cc1352p-infinite-loop-within-malloc-with-dmm-with-zigbee-and-ble

器件型号:CC1352P
主题中讨论的其他器件:SIMPLELINK-CC13X2-26X2-SDK、 Z-STACK

你好

我有一个具有 Zigbee 和 BLE 的 DMM 项目、但这本身并不重要。

TI 提供的任务与基本函数 stackTaskFxn()一起调用 OsalPort_msgAllocation(),该函   数依次调用 OsalPort_malloc()和 OsalPort_heapMalloc(),最后在 HEAPMGR_malloc()中调用。 在该函数中、它看起来好像堆已在使用(HEAPMGR_IN_USE)、然后它循环、直到任何其他任务退出堆代码。

这是可以的、除了这个任务也是最高优先级(TI 定义的)、所以其他任务不能挤占并退出...

这是已知问题吗?

此致

Gary Partis

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

    您好、Gary、

    您参考的是 SIMPLELINK-CC13X2-26X2-SDK 的哪个版本?  我在  LAUNCHXL-CC1352P-2的 v5.10 SDK 的 DMM_ZR_light_REMOTERY_DISPLAY_APP 示例项目中查看 zstackstartup.c 的 stackTaskFxn、但没有看到对 OsalPort_msgAllocate 的调用。  否则、应用程序仅在 zstackapi.c 中使用此函数、而 z-stack 会在多个位置使用此函 数、但无论如何、我看不到任何问题。  您能否进一步了解问题的可能存在方式?

    此致、
    Ryan

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

    你好、Ryan

    stackTaskFxn 根据提出的事件执行回调。 遗憾的是、ROV 调用堆栈转储不指示调用了哪个回调函数、因此将添加一些调试以建立这一点。

    SDK 为4.30.0.54。

    此致

    Gary

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

    你好

    它似乎是函数 ZMacEventLoop (),它是  从 zstackTasksArr 表调用的,由 stackTaskFxn()使用。

    同样,  对 OsalPort_msgAllocation()没有明显的直接调用,但由于函数名称的别名很普遍,很可能混淆。

    此致

    Gary

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

    嗨、Gary、

    HEAPMGR_IN_USE 字节表示特定堆元素的头文件内正在使用一个特定的堆块。  它不 是指整个堆、而是一个特定的块、因为它在堆中迭代以寻找可用空间。  您可以 添加 HEAPMGR_metrics 以进一步调试您的应用 、但如果堆栈未冻结或锁定、则不存在固有问题。

    此致、
    Ryan

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

    你(们)好

    我发现问题的根本原因是从非 iCall-BLE 任务调用 BLE API (用于通知/指示)。

    此致

    Gary