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.

[参考译文] CC1310:任务内部函数的执行遇到问题、可能与堆栈大小有关?

Guru**** 2473260 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1407408/cc1310-i-have-problems-with-the-execution-of-functions-inside-a-task-it-could-be-related-to-the-stack-size

器件型号:CC1310

工具与软件:

我在任务内执行函数时遇到问题、它可能与堆栈大小有关。

在我的应用中、我声明了一个负责执行大多数进程的任务(Task_rf)、其中一个就是调用函数来执行某些 base64编码。
当我在任务代码的某个部分中声明这些函数时、我的应用程序会在某个时候暂停、但当我注释掉这些函数的行时、程序会正确运行。

我已经在 CCS IDE 中查看了堆栈使用部分并获得了以下信息。
您能帮我解释一下我看到的内容吗?

提前感谢。

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

    恐怕我不能给你更多的帮助,只是从我从你收到的信息。

    如果您怀疑问题与堆栈大小有关、则只需尝试将其增大、看看问题是否解决。

    我不知道您使用什么示例作为起点、或者您在 Task_RF 中执行什么操作、但是如果您怀疑您的问题与某些特定函数相关、请尝试在 SDK 中的空示例中实现这些函数、然后看看您是否可以重新创建问题。

    如果您可以、您可以共享修改后的 empty.c 文件、我们也可以尝试在此处重新创建问题。

    我还建议您查看以下内容:

    运行时对象视图(ROV)

    Siri

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

    你好、Siri。
    我的项目基于另一位工程师制作的旧模板。
    ‘m开始解释代码并将其与 EasyLink 示例进行比较时、我注意到的一点是我的旧工程不包含"main_tirtos.c"文件、我注意到该文件创建并分配每个线程的栈大小。 是否‘m附加"main_tirtos.c"文件的配置? 在创建任务时、项目中的堆栈大小在 main 函数中按如下方式进行分配。

    注意:我正在查看提供的有关运行时对象视图(ROV)的信息

    //构造 Task_RF
    Task_Params_(&RFTaskParams);
    RFTaskParams.STACKSIZE = 1024;
    RFTaskParams.stack =&RFTaskStack;
    RFTaskParams.priority = 2;

    //构造任务 UART 线程
    Task_Params_ 4.11(&uarTaskParams);
    uartTaskParams.STACKSIZE = 1024;
    uartaskParams.stack = uartaskStack(&u);
    uartTaskParams.priority = 1;


    Task_construction (&RFTask、Task_RF、&RFTaskParams、NULL);
    Task_Construct ((&uarTask, Task_Uart_ ING_3612_Serial、&uartParams、NULL);//  

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

    否、您不必包含该文件。

    例如、在 rfEasyLinkTx 示例中、不包含此文件、而栈大小在 rfEasyLinkTx、c 文件中定义。

    执行 以下 SLA 是一项很好的练习:

    实时操作系统

    BR

    Siri