硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2630|回复: 6
收起左侧

[FreeRTOS] FreeRTOS关闭时间片调度后,如果程序依然有同优先级任务的问题

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2020-4-14 13:05:29 | 显示全部楼层 |阅读模式



对于FreeRTOS来说毫无规律性。这两个同优先级任务所处于的等级位置,调度前还是后启动等等,会有各种各样的执行情况

不像uCOS-III那么明确,对于III来说,如果没有开启时间片,同优先级会议类似合作式调度方式执行




回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2020-4-14 14:00:18 | 显示全部楼层
ucos 毕竟上过火星
回复

使用道具 举报

210

主题

1043

回帖

1683

积分

至尊会员

More we do, more we can do.

积分
1683
发表于 2020-4-16 13:48:44 | 显示全部楼层
具体可能得看代码。文档里是这么说的:
Any number of tasks can share the same priority. If configUSE_TIME_SLICING is not defined, or if configUSE_TIME_SLICING is set to 1, then Ready state tasks of equal priority will share the available processing time using a time sliced round robin scheduling scheme.
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2020-4-16 14:34:20 | 显示全部楼层
本帖最后由 caicaptain2 于 2020-4-16 14:36 编辑

我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个任务轮流执行1ms,也可能是一个任务执行完了,下个任务再执行。 可以观察一下。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
 楼主| 发表于 2020-4-16 17:29:52 | 显示全部楼层
emwin 发表于 2020-4-16 13:48
具体可能得看代码。文档里是这么说的:

看代码了,逻辑关系不好捋顺。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
 楼主| 发表于 2020-4-16 17:30:44 | 显示全部楼层
caicaptain2 发表于 2020-4-16 14:34
我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个 ...

其实没关系,实际测试还挺乱的,什么结果都有。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2020-5-20 09:48:03 | 显示全部楼层
caicaptain2 发表于 2020-4-16 14:34
我猜测,同优先级任务的执行顺序应该是和创建的顺序一致的。
另外,如果切换时间是1ms的话,有可能是每个 ...

FreeRTOS同优先级的任务就是轮流执行,每个任务执行一个时间片。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 17:26 , Processed in 0.163730 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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