打印
[STM32F1]

任务优先级和调度问题

[复制链接]
860|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
突然下起雨|  楼主 | 2024-7-30 18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LCD, LC, CD, sd, IO, rio
任务优先级设置不当或者任务间的资源竞争可能会导致系统不稳定。

3.1 适当调整任务优先级
确保SD卡写入任务和屏幕显示任务的优先级设置合理,不会导致任务饥饿或优先级反转。

c

#define SD_TASK_PRIORITY      (tskIDLE_PRIORITY + 2)
#define LCD_TASK_PRIORITY     (tskIDLE_PRIORITY + 1)

xTaskCreate(sdTask, "SD Task", SD_TASK_STACK_SIZE, NULL, SD_TASK_PRIORITY, NULL);
xTaskCreate(lcdTask, "LCD Task", LCD_TASK_STACK_SIZE, NULL, LCD_TASK_PRIORITY, NULL);


使用特权

评论回复
沙发
我爱台妹mmd| | 2024-7-31 23:17 | 只看该作者
在 FreeRTOS 中,适当设置任务优先级是确保系统稳定和高效的关键。你的代码示例显示了如何为 SD 卡写入任务 (sdTask) 和屏幕显示任务 (lcdTask) 设置优先级。

使用特权

评论回复
板凳
范德萨发额| | 2024-8-16 14:46 | 只看该作者
如果SD卡写入任务占用了大量CPU时间,可能会导致LCD显示任务饥饿(即LCD任务很少有机会运行)

使用特权

评论回复
地板
范德萨发额| | 2024-8-16 14:52 | 只看该作者
可以使用FreeRTOS的优先级继承机制。

使用特权

评论回复
5
范德萨发额| | 2024-8-16 14:52 | 只看该作者
显示任务可能相对较少依赖实时性,因此可以设置一个较低的优先级。这样可以确保SD卡写入任务得到优先处理。

使用特权

评论回复
6
狄克爱老虎油| | 2024-8-17 22:59 | 只看该作者
优先级继承是什么啊

使用特权

评论回复
7
grfqq325| | 2024-8-28 12:07 | 只看该作者
通常,重要且需要实时处理的任务应当分配较高的优先级。

使用特权

评论回复
8
Clyde011| | 2025-3-18 08:23 | 只看该作者
你在使用FreeRTOS的时候,有没有遇到过低优先级任务莫名其妙被饿死的情况?是怎么解决的?

使用特权

评论回复
9
公羊子丹| | 2025-3-18 08:24 | 只看该作者
这个优先级分配看起来挺合理的,SD卡写入通常比屏幕刷新更关键。不过你测试过在高负载下的表现吗?

使用特权

评论回复
10
周半梅| | 2025-3-18 08:25 | 只看该作者
任务饥饿的问题主要是高优先级任务一直占用CPU吧?你有没有试过用vTaskDelay()让出一些时间?

使用特权

评论回复
11
帛灿灿| | 2025-3-18 08:27 | 只看该作者
这里是用的FreeRTOS吧?如果SD写入任务有时候阻塞,会不会导致低优先级任务执行不均匀?

使用特权

评论回复
12
童雨竹| | 2025-3-18 08:28 | 只看该作者
任务优先级反转在这种情况下会不会影响SD卡写入?比如LCD任务有时候占用某些资源导致SD任务被卡住?

使用特权

评论回复
13
万图| | 2025-3-18 08:29 | 只看该作者
你有没有尝试过使用Mutex或者Semaphore来保证两个任务的资源访问不会冲突?

使用特权

评论回复
14
Bblythe| | 2025-3-18 08:31 | 只看该作者
你是怎么测定这两个任务的执行时间的?用Tracealyzer之类的工具分析过任务调度情况吗?

使用特权

评论回复
15
Wordsworth| | 2025-3-18 08:33 | 只看该作者
这个优先级分配可以满足实时需求吗?比如在数据量比较大的时候,SD写入会不会拖慢屏幕刷新?

使用特权

评论回复
16
Pulitzer| | 2025-3-18 08:35 | 只看该作者
如果LCD任务偶尔需要更高的响应速度,比如响应用户触摸输入,这样的优先级设置会不会影响交互体验?

使用特权

评论回复
17
Uriah| | 2025-3-18 08:37 | 只看该作者
除了调整优先级,你觉得调整任务栈大小或者优化任务代码能不能提升整体性能?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

529

帖子

1

粉丝