找回密码
 立即注册
查看: 576|回复: 2

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:533
  • 最近打卡:2025-06-16 07:56:12
已绑定手机

158

主题

592

回帖

1031

积分

金牌会员

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

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-05-28 09:08:49

34

主题

1094

回帖

2448

积分

荣誉版主

积分
2448
发表于 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



回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:67
  • 最近打卡:2025-06-16 08:30:05
已绑定手机

17

主题

472

回帖

1341

积分

金牌会员

积分
1341
发表于 2024-11-8 13:18:28 | 显示全部楼层
每个任务的堆栈都要考虑中断,局部变量等,这太占内存了,有些MCU有中断专用指针就好很多
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 00:11 , Processed in 0.131719 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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