您当前的位置:五五电子网电子知识电工技术电子技术构造一个51系列单片机的实时操作系统方法 正文
构造一个51系列单片机的实时操作系统方法

构造一个51系列单片机的实时操作系统方法

点击数:7252 次   录入时间:03-04 12:01:16   整理:http://www.55dianzi.com   电子技术
 


 
        3.2 任务的切换
 
        任务的切换分两种情况,在当前任务优先级低于下一个取得CPU控制权的任务时,将下一个取得CPU控制权的任务的栈顶到当前任务的栈顶之间的内容向RAM空间的高端搬移,以空出全部的RAM空间作下一个任务的堆空间,同时更新对应的OSTaskStackBotton,使其指向新的正确任务的堆栈栈底。如果当前任务的优先级高于下一个任务的优先级,则作相反的搬移,如图3与图4所示。
 
        所有任务必须主动调用OSSleep,放弃CPU的控制权。任务调用OSSleep后,将选择优先级最高的就绪任务运行。
 
        结 语
 
        系统完成后,内核的代码量在400多个字节左右,占用1个定时器中断及小量的内存空间。系统设置容量为8个任务,用户实际可用任务为7个,能够满足一般需求,也达到了在小容量芯片中应用的开发要求。由于没有采用占先式的任务调度,除开全程相关的个别任务的一些局部变量外,其他局部变量已经不存在覆盖关系,由于是任务主动放弃CPU控制权,对于个别需要保护的变量单独进行处理也变得容易。在系统中,全程不需要反复地开关中断,实时性能也很好。对个别时序要求严格的外设(如DSl8820)除外。

上一页  [1] [2] 


本文关键字:单片机  操作系统  电子技术电工技术 - 电子技术