|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Dollche 于 2023-2-2 10:32 编辑 * i% Z5 C# A! t! b, _
, o0 t) _( E, O$ y* X, x
在看 uc/os-II 的书时,关于 ucos-II 中任务切换的几种情况的问题. % g. {# N9 }6 L6 J s! z6 T6 g/ _
1.在一个时钟周期内,至少所有的任务都要运行一遍,对吗
5 C/ W- E# K/ }2 }2.任务切换发生的三种情况:
' D5 n% r8 r+ e9 d- Pa.任务 A 主动放弃 CPU 的主动权,利用 OSTimeDly() 延时,进行任务切换; * P5 h8 E! R( x, @2 P5 L( o! Y
b.中断时钟周期发生时,在任务就绪表中寻找最高优先权的任务,如果当前任务不# d2 C! t- Y# ~$ `
是最高优先级,发生任务切换,否则仍执行原任务;
$ Y+ `" P/ e$ Q) `c.发生 irq,fiq,软中断,取指错误和取数据错误五种异常模式时,直接发生任务2 M& u& V" j$ X! A
切换, 中断处理结束后,在任务就绪表中寻找最高优先权的任务,如果当前任5 n% T2 o3 Y& y2 l4 A$ [. y. m% C
务不是最高优先级,发生任务切换,否则仍执行原任务. ' M/ N, b+ y! _( C% c
|
|