找回密码
 立即注册
查看: 65|回复: 1

FreeRTOS创建任务时,堆栈大小如何设置合适?

[复制链接]
  • TA的每日心情
    奋斗
    8 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    110

    主题

    458

    回帖

    864

    积分

    高级会员

    积分
    864
    发表于 2024-4-18 15:44:36 | 显示全部楼层 |阅读模式
        xTaskCreate(vRtcTask,
                    "RTC",
                    128,//就是这里,我看默认是128 STC的DEMO里面强制转换成16位,有啥意义?自己创建任务时,如何设置才合适????
                    NULL,
                    1,
                    NULL);

    回复 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    520

    回帖

    1640

    积分

    荣誉版主

    积分
    1640
    发表于 2024-4-19 08:15:23 | 显示全部楼层
    本帖最后由 tzz1983 于 2024-4-19 08:19 编辑

    任务栈太小的设定, 是根据任务内应用的复杂程度和中断嵌套设置来调整的,  
    没有固定哪个数值合适这个说法.

    对于FreeRTOS_C251, 主要影响因素有, 函数调用深度, 形参+局部变量,

    中断嵌套次数, 中断内应用的 "函数调用深度, 形参+局部变量" 也要算进去.

    理解这些因素, 可对栈的需求有个大至的估算.
    实际操作时, 刚创建任务时, 可分配较大的栈,

    运行起来后, 通过OS自身实测的功能来减少至 (实际使用量+安全余量) 即可.

    看看这张帖, 里面有一些简单的介绍.
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=6562&extra=page%3D1



    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-3 14:06 , Processed in 0.051689 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表