|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Dollche 于 2023-2-2 10:32 编辑
0 B" M( `: R; {! |& A( {# c( I2 A F& t- Y. k) i! f; K
在看 uc/os-II 的书时,关于 ucos-II 中任务切换的几种情况的问题. 1 e! F- [: t* Y H9 p4 R
1.在一个时钟周期内,至少所有的任务都要运行一遍,对吗 ; e& {6 y; X9 g3 `
2.任务切换发生的三种情况:
& B& A8 A: U3 W" c! q, P; x/ f& ua.任务 A 主动放弃 CPU 的主动权,利用 OSTimeDly() 延时,进行任务切换;
/ V( x9 S: B, B( ?: ib.中断时钟周期发生时,在任务就绪表中寻找最高优先权的任务,如果当前任务不
/ ]# `4 P$ D1 J m是最高优先级,发生任务切换,否则仍执行原任务; 9 u- E T" S1 p4 E% q
c.发生 irq,fiq,软中断,取指错误和取数据错误五种异常模式时,直接发生任务
+ q0 u; Y: B" B切换, 中断处理结束后,在任务就绪表中寻找最高优先权的任务,如果当前任
9 ^1 J# `6 [( u! g7 o# r$ H务不是最高优先级,发生任务切换,否则仍执行原任务.
: d x% ]4 B8 T; M5 }' q7 @ |
|