OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32/FPGA开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 2722|回复: 6

求助: FreeRTOS创建静态任务和动态任务的各自优缺点

[复制链接]

12

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
446
金钱
446
注册时间
2017-8-1
在线时间
81 小时
发表于 2018-3-26 08:47:27 | 显示全部楼层 |阅读模式
1金钱
研究了很久原子哥关于freertos的教程,里面仅仅说了:静态任务和动态任务的区别,就是一个需要自己建立堆栈,一个不需要自己建立堆栈!
但是一直没有说两者之间的各自优缺点,比如哪一种创建方法更稳定,哪一种更好用!我们在创建任务时改如何去选择!希望有知道的告诉下!谢谢!

最佳答案

查看完整内容[请看2#楼]

论稳定肯定是静态的,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!动态创建方法可能因为内存不足导致任务创建失败。
青涩不及当初,聚散不由你我!
回复

使用道具 举报

82

主题

6749

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
13651
金钱
13651
注册时间
2013-11-13
在线时间
1701 小时
发表于 2018-3-26 08:47:28 | 显示全部楼层
论稳定肯定是静态的,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!动态创建方法可能因为内存不足导致任务创建失败。
回复

使用道具 举报

12

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
446
金钱
446
注册时间
2017-8-1
在线时间
81 小时
 楼主| 发表于 2018-3-26 12:42:27 | 显示全部楼层
zuozhongkai 发表于 2018-3-26 09:48
论稳定肯定是静态的,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!动态创建方法可能因为内 ...

那么,我们在使用stm32的FreeRTOS创建任务时,是不是尽量使用静态的创建方式啊? 因为静态创建的任务更稳定,是这样的吗?
青涩不及当初,聚散不由你我!
回复

使用道具 举报

82

主题

6749

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
13651
金钱
13651
注册时间
2013-11-13
在线时间
1701 小时
发表于 2018-3-26 16:36:36 | 显示全部楼层
风清扬丶 发表于 2018-3-26 12:42
那么,我们在使用stm32的FreeRTOS创建任务时,是不是尽量使用静态的创建方式啊? 因为静态创建的任务更稳 ...

如果你的任务少,而且你的应用中没有需要删除的任务就可以动态的。
开往春天的手扶拖拉机
回复

使用道具 举报

3

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2015-12-3
在线时间
123 小时
发表于 2018-5-11 17:40:56 | 显示全部楼层
zuozhongkai 发表于 2018-3-26 08:47
论稳定肯定是静态的,但是耗内存!任务删除以后这段内存没法释放掉,就只能浪费掉!动态创建方法可能因为内 ...

谢凯哥分享
。。。。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2018-6-1
在线时间
2 小时
发表于 2018-6-4 18:16:37 | 显示全部楼层
有帮助,顶一个!
回复

使用道具 举报

10

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2017-7-28
在线时间
103 小时
发表于 2018-7-12 16:05:06 | 显示全部楼层
zuozhongkai 发表于 2018-3-26 16:36
如果你的任务少,而且你的应用中没有需要删除的任务就可以动态的。

动字改为静字
回复

使用道具 举报

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

本版积分规则



关闭

正点原子STM32/FPGA资料免费下载上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2019-5-23 07:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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