|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 i ]9 w9 F/ s' _
摘要:设计了一个在51单片机上运行的基于优先级的抢占式实时多任务内核-510S,给出了其设计
. @0 O( u7 t3 d5 z" k3 e' }思路,并对一些设计难点进行了讨论。
$ K" z+ v4 K! u1 J# ^6 I
. v+ K% [7 P: C( U5 ^2 q6 o. |关键词:抢占式;实时多任务内核; 单片机
8 d9 K: d/ T8 Q( p/ n2 ^, _0 E( [7 i. p% ?
随着嵌人式系统应用的日益广泛,RTOS( Real-
+ _7 m% }/ H' X9 b" o+ vtime Operation System)越来越受到嵌入式系统开发) a! B- \9 k* F% a0 g6 _$ ?
人员的青睐,特别是进人20世纪90年代后,RTOS
q# V- i0 v9 y/ i' O. k% z Y更是逐步确立了在嵌入式系统设计中的主导地位,这
) W( Y. D, W8 G0 w9 u$ i体现了单片机应用从低水平向高水平的一个很大进
2 l% `8 l0 q0 f7 h步.使用RTOS所带米的最大好处是可提高嵌人式7 I+ m2 H0 ~% J4 g( K
系统的可靠性和确定性,提高软件的开发效率,缩短5 I6 H5 S3 p( E& w1 q! s4 b
软件开发周期,由于商业化RTOS软件较高的价格" L! D+ @. E- N0 Y5 \
和使用成本(版权费、维护费等)的限制,RTOS在国; s" r, o& S( {4 m+ D
内的应用并不普遍。本文设计了一个在51单片机上7 e: V& P, v4 u% i; ~. K' ?9 G% N0 y# r
运行的抢占式实时多任务内核一51OS,给出了其设4 x* H Z7 K% F) h; M( J3 D
计思路,并对一些设计难点进行了讨论.
* Y$ _# ^0 R% M1 f( w7 R+ R5 F1多任务抢占式优先级调度的实时内
9 y4 Y& ^# a: D) ]核的设计
' e( v" Y# M% s2 i/ U) k/ r+ F/ a7 _2 B1.1 任务调度机制
' y( K8 N* K: R; ^# L9 l抢先式优先级调度实时内核为每个任务分配一6 F8 T- b+ `2 K. p' w$ u& s+ O; T
个唯-的优先级别,当前任务退出之后,内核从等待0 ?* c f3 C1 N% _
队列挑选出任务优先级别最高的任务投人运行。我/ y. w. s- g, e
4 m6 h4 N7 `2 W# C. I们称这样的调度策略为基于优先级的调度策略。基
+ V; i9 r6 O: p( J$ s于优先级的调度策略在非抢占模式下,其响应的及时+ d, B4 l7 N ]/ ~
性和确定性方面都不好。比如,当一个任务在运行的6 V4 B4 {$ V4 y1 K1 J: }* S. o
时候,一个更高优先级任务就绪了,但是内核并不立* B1 C9 e! i' i" T7 G0 W: S9 s
即将其投人运行,而是等到这个任务放弃了CPU的
3 U! U9 y- f* x6 X使用权;任务的响应时间得不到保证.51单片机大多
: O& A1 e. c, z/ H3 K1 w应用在控制系统当中,所以51OS采用了抢先式的基3 K% S2 _, w' r6 l ]
于优先级的调度策略,优先级高的任务一旦就绪,立" S- O5 V; u0 d& Z! C( K8 Q" j
即投人运行,其工作的核心原理是:近似地让最高优.
- C' ]& T' w# T$ k/ d) I% @先级的就绪任务立即处于运行状态.9 G& c/ R" ~5 B( o/ t- G
在51OS中一个任务要么是一个无限循环,要么
V/ D6 M! @+ ? n在任务完成后删除自己,并且进人休眠状态.
, |2 O2 k, ?# ~) s% H调度工作的内容可以分为两个部分:最高优先级+ A: [. h0 o0 o, s: B( G) l
任务的寻找和任务切换.
2 o" h9 L7 s: Z% T(1)最高优先级任务的寻找
# g0 w6 v |4 N2 B①就绪表的形成( d4 z6 x7 C0 i0 R( z
不同的内核有不同的处理方式,比如可以将任务
* K9 E+ R: s! ~/ j进行优先级别的排序,然后从头到尾进行检索.这种5 V) t" p' H' ^+ h0 u9 V
方法简单,设计方便,但是确定性差.51OS采用了查2 k% y1 X6 Y6 f2 K
表的方法:- c$ g6 |! O q; N2 L7 ^ J
U& ~% B2 r z" v9 _
3 p/ [3 y5 h" f5 n: p k; M Y
% b+ M9 Y# I8 |附件下载:
8 l6 j( ] u* m# O
1 q" y/ k4 L7 P0 E |
|