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.

[参考译文] CC1354P10:端点函数中的 WSMS 异常

Guru**** 2460850 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1546005/cc1354p10-wsms-exception-in-endpoint-function

部件号:CC1354P10


工具/软件:

您好!

我使用 WSMS 栈、并在 CoAP 节点示例上开发程序。 我想在端点函数中使用 MsgPack(我使用经过验证的库)。

我准备了一段简单的代码,用一个键创建基本对象。 当我把这段代码放到我的线程循环中时,它会很好地运行,但是当我把它放在端点函数(由“CoAP_service_register_uri"注册“注册)注册)中时,我有 faultISR。

我认为问题在于线程调用端点函数、可能是堆栈内存溢出。 您能帮我调试一下吗?

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

    尊敬的 Sebastian:

    首先帮助我了解您是为 WSMS 还是 Wi-SUN 开发?

    您能分享一下您开始使用的示例工程的名称吗?

    此致、

    Daniel

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

    您好 Daniel!

    WSMS、我从“WSMS_ipv6node"FreeRTOS 项目“ 项目开始

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

    谢谢 Sebastian、

    「对不起,我不知道该怎么办。」 您有一个使用  CoAP_service_register_uri 注册的回调函数、 当您添加一段通常可以通过线程循环运行的代码时、它会触发 faultISR? 能否详细介绍一下这段代码?

    此致、

    Daniel

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

    是的丹尼尔,你 是对的。

    我在“doc["test"]行“行中“中有故障= 64;“

    JsonDocument doc;
    doc["test"] = 64;
    
    size_t bufferMaxSize = measureMsgPack(doc) + 16;
    uint8_t buffer[bufferMaxSize];
    size_t bufferLen = serializeMsgPack(doc, buffer, bufferMaxSize);

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

    尊敬的 Sebastian:

    通常、我强烈建议您使用 TI 驱动程序和 C 结构。

    如果您解释了用例、我可以帮助您相应地进行更改。

    此致、

    Daniel

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

    尊敬的 Daniel:

    这将生成一个我想用于通信的 Messagepack 结构。

    但是,我想尝试增加触发这些端点的线程的堆栈。 您能告诉我如何做到这一点吗?

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

    尊敬的 Sebastian:

    它们似乎在 mainThread 上运行。 您可以 尝试在 main.c 上更改栈大小

    /* Stack size in bytes */
    #define WISUNTHREADSTACKSIZE    1024
    

    此致、

    Daniel