硬汉嵌入式论坛

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

[FreeRTOS] freertos的时间片轮问题

[复制链接]

1

主题

0

回帖

1

积分

新手上路

积分
1
发表于 2016-8-12 10:52:37 | 显示全部楼层 |阅读模式
我看咱们发布的关于freertos的pdf教程中关于时间片轮这块有点疑问,教程上说每个任务时间是5个系统节拍,而实际测下来只有一个系统节拍,找了半天也没找到哪里改片轮的时间,望版主指导一下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107028
QQ
发表于 2016-8-12 11:07:40 | 显示全部楼层
注意一点,并不是说设置了5个时间片大小,每个任务都要执行满5个时间片才可以切换到另外的同优先级任务,也可以通过调用延迟等函数将自己挂起,如果此时没有高优先级任务抢占,会切换到下一个同优先级任务,此任务剩下没有执行完的时间片放弃,不再使用了。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2016-8-22 18:20:23 | 显示全部楼层
老大,其实我想补充两点

1.freertos的pdf教程 关于时间片的设置有点问题,《安富莱_STM32-V6开发板_FreeRTOS教程(V1.0)》第323页

   static void AppTaskCreate (void) 这里面4个函数的优先级设为 1 2 3 4 ,我也是看了挺久看不明白,但是代码里面是对的 设为1 2 2 4 有两个相同才是时间片调度。

2.其实我也纳闷楼主的问题,楼主的意思应该是5个系统节拍不知道在哪里设置,比如说我想改为10个系统节拍,哪应该在哪里修改呢?

望老大解答,谢谢了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107028
QQ
发表于 2016-8-23 11:17:18 | 显示全部楼层

回 liuzjie 的帖子

liuzjie:老大,其实我想补充两点

1.freertos的pdf教程 关于时间片的设置有点问题,《安富莱_STM32-V6开发板_FreeRTOS教程(V1.0)》第323页

   static void AppTaskCreate (void) 这里面4个函数的优先级设为 1 2 3 4 ,我也是看了挺久看不明白,但是代码里面是对的 设为1 2  .. (2016-08-22 18:20) 
1.  谢谢兄弟指出这个问题,教程里面写错了,以实际程序代码为准
2.  FreeRTOS不支持时间片数的设置,当前的FreeRTOS的策略是一个系统时钟节拍后就检测时候有同优先级的不,有就切换。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 15:55 , Processed in 0.172154 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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