|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Dollche 于 2023-2-2 10:32 编辑
! Z8 e+ }4 t; @) v K8 |- O
) ^" n" T C% n; Q) T在看 uc/os-II 的书时,关于 ucos-II 中任务切换的几种情况的问题.
9 [8 |7 x9 M7 [4 f1 O( x" @. [( o" H1.在一个时钟周期内,至少所有的任务都要运行一遍,对吗 2 n4 T# l- M O
2.任务切换发生的三种情况:
* z k- e5 M5 Xa.任务 A 主动放弃 CPU 的主动权,利用 OSTimeDly() 延时,进行任务切换;
1 S' y$ _, |3 m( s' Tb.中断时钟周期发生时,在任务就绪表中寻找最高优先权的任务,如果当前任务不
* {. s: K# n$ h& X( D* F* X是最高优先级,发生任务切换,否则仍执行原任务; ! J& B1 U, I P- j1 L4 B8 {
c.发生 irq,fiq,软中断,取指错误和取数据错误五种异常模式时,直接发生任务
9 T! R, R( G9 L6 d P" S切换, 中断处理结束后,在任务就绪表中寻找最高优先权的任务,如果当前任) [( L9 D; ~6 f
务不是最高优先级,发生任务切换,否则仍执行原任务. 4 v9 @& u4 V, {" ^" w
|
|