|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* t( `; z. S& l, O( V3 t* D
摘要:设计了一个在51单片机上运行的基于优先级的抢占式实时多任务内核-510S,给出了其设计, ^6 ?! X# P; E+ k' B0 f
思路,并对一些设计难点进行了讨论。
) Z* t0 D* c$ L L7 A+ N+ r" G6 _$ b/ g" r' k. v1 W
关键词:抢占式;实时多任务内核; 单片机
) |& _' E) n: M. G; w+ A
1 c9 X3 e. b: s9 ~' _5 e随着嵌人式系统应用的日益广泛,RTOS( Real-6 H0 W+ n+ G/ Q( I
time Operation System)越来越受到嵌入式系统开发
6 k/ E$ W( i* i) R4 x* L! ^$ L人员的青睐,特别是进人20世纪90年代后,RTOS
; q2 j+ R {* w* ~3 t5 |2 \( c更是逐步确立了在嵌入式系统设计中的主导地位,这+ a `1 p. g: G0 M5 R5 x
体现了单片机应用从低水平向高水平的一个很大进, V1 y# ~5 {" ?7 L+ V
步.使用RTOS所带米的最大好处是可提高嵌人式( [# z/ A+ g$ G. d( U& c
系统的可靠性和确定性,提高软件的开发效率,缩短
0 }0 M: V. b; A3 V6 C7 G9 w软件开发周期,由于商业化RTOS软件较高的价格" W9 `- |, {: S
和使用成本(版权费、维护费等)的限制,RTOS在国1 P# e9 e$ ]$ i) @2 @* m! g4 @) p4 K
内的应用并不普遍。本文设计了一个在51单片机上
6 p4 Q- I3 Z Q9 q运行的抢占式实时多任务内核一51OS,给出了其设
) z' ] H: j4 e! R计思路,并对一些设计难点进行了讨论.6 H+ z c( s P ~
1多任务抢占式优先级调度的实时内
2 o+ y7 f( A( r5 h" g/ J) O% H& t核的设计
/ S9 V2 {2 X E ^8 D: a9 s1.1 任务调度机制9 F; O: _+ _6 [% w0 l. t/ y" c
抢先式优先级调度实时内核为每个任务分配一1 ], X+ q/ v) X& `7 S
个唯-的优先级别,当前任务退出之后,内核从等待+ O, c4 A- [2 _3 D4 C) w$ \
队列挑选出任务优先级别最高的任务投人运行。我1 p1 R4 @' H3 K! ?; W* `5 `6 \' R
# @1 e+ o3 p1 W! h们称这样的调度策略为基于优先级的调度策略。基
4 i+ F7 d& p, b于优先级的调度策略在非抢占模式下,其响应的及时
; A$ m% M3 p. d& I- _性和确定性方面都不好。比如,当一个任务在运行的/ s; q) g/ D& j9 B9 Y; E4 h+ Z! V: g
时候,一个更高优先级任务就绪了,但是内核并不立
" M8 e) U7 [5 l即将其投人运行,而是等到这个任务放弃了CPU的
6 X9 ^9 j$ S* Y) g" \$ y使用权;任务的响应时间得不到保证.51单片机大多
% S" u/ X' p' y' G6 Z应用在控制系统当中,所以51OS采用了抢先式的基$ h$ A* E2 n* j. _1 B" s
于优先级的调度策略,优先级高的任务一旦就绪,立
( }% g$ ~, E# d( d `即投人运行,其工作的核心原理是:近似地让最高优." d# f% N/ i1 a" \1 I' s' F
先级的就绪任务立即处于运行状态." b; ?3 k* T. H2 ]( I
在51OS中一个任务要么是一个无限循环,要么
. o Y+ F B+ {; N: L在任务完成后删除自己,并且进人休眠状态.
( h$ O6 y; S1 @8 S* h调度工作的内容可以分为两个部分:最高优先级0 M. L1 E/ v' b
任务的寻找和任务切换.6 Q) l1 k3 j" F$ ` g a6 I0 z3 }
(1)最高优先级任务的寻找1 W- ?0 O6 X1 {4 s! g1 E8 U
①就绪表的形成* ]* G+ ?7 _; T' S1 ^- {
不同的内核有不同的处理方式,比如可以将任务- x/ w# p. k6 K0 k" |
进行优先级别的排序,然后从头到尾进行检索.这种
; ` H" L: W' J8 Q0 [方法简单,设计方便,但是确定性差.51OS采用了查! l: f$ ^* @8 k
表的方法:
8 e. x- ?, X5 D" ~5 x! Q7 |7 s
5 I; B7 g) ^7 v5 g! b
* ~8 A3 s5 p& s/ E7 n$ q+ Q3 S
附件下载:5 j' G, |% y2 h% ~3 A$ s; ~( \; ?3 J
/ O: [. ?$ Y* \) p' T
|
|