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

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

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

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:41 , Processed in 0.102336 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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