嵌入式技术william hill官网
直播中

王强

7年用户 1317经验值
私信 关注
[问答]

ucos-II中任务切换的几种情况的问题求解

在看 uc/os-II 的书时,关于 ucos-II 中任务切换的几种情况的问题.
1.在一个时钟周期内,至少所有的任务都要运行一遍,对吗
2.任务切换发生的三种情况:
a.任务 A 主动放弃 CPU 的主动权,利用 OSTimeDly() 延时,进行任务切换;
b.中断时钟周期发生时,在任务就绪表中寻找最高优先权的任务,如果当前任务不
是最高优先级,发生任务切换,否则仍执行原任务;
c.发生 irq,fiq,软中断,取指错误和取数据错误五种异常模式时,直接发生任务
切换, 中断处理结束后,在任务就绪表中寻找最高优先权的任务,如果当前任务不是最高优先级,发生任务切换,否则仍执行原任务.

回帖(2)

张磊

2023-2-27 10:50:07
不一定,如等信号时 OSPend(x, 0, &err)时.
举报

张杰

2023-2-27 10:50:19
只有在 IRQ,FIQ 和软中断受 OS 管理时才能进行任务切换,同理取指,取数异常在启动阶段的 死循环根本谈不上任务切换。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分