[发明专利]一种嵌入51系列单片机的多任务实时操作系统的实现方法无效
| 申请号: | 201110001117.8 | 申请日: | 2011-01-06 |
| 公开(公告)号: | CN102063325A | 公开(公告)日: | 2011-05-18 |
| 发明(设计)人: | 彭宇;陈叶富;刘大同 | 申请(专利权)人: | 哈尔滨工业大学 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/48 |
| 代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 张宏威 |
| 地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 嵌入 51 系列 单片机 任务 实时 操作系统 实现 方法 | ||
1.一种嵌入51系列单片机的多任务实时操作系统的实现方法,其特征在于,它是采用基于keil的C51编程语言编辑、并采用keil编译器编译实现,并采用task关键字区别不同的任务,该操作系统的多任务切换过程为:
在接收到新任务信号之后,关中断,然后启动任务切换模块,该模块实现切换的过程为:
首先,发生任务切换的时候,它首先判断当前正在运行的任务是不是空闲任务,如果是空闲任务,则不保存堆栈信息,否则保存堆栈信息;
然后,判断当前任务是不是最高优先级任务,如果当前任务就是最高优先级任务,则不做堆栈调整,否则做堆栈调整;
最后,当堆栈调整结束之后,把最高优先级的任务设置为当前任务,然后观察当前任务是不是空闲任务,如果是空闲任务,就直接返回,否则需要判断是否需要出栈操作然后才能返回。
2.根据权利要求1所述的一种嵌入51系列单片机的多任务实时操作系统的实现方法,其特征在于,所述保存堆栈信息的过程为:
步骤Q1、判断当前任务是否是空闲任务,如果是,则执行步骤Q2,否则执行步骤Q3;
步骤Q2、从任务堆栈数组中加载栈顶指针到SP;然后执行步骤Q4;
步骤Q3、保存堆栈信息SP到任务堆栈数组。
3.根据权利要求1所述的一种嵌入51系列单片机的多任务实时操作系统的实现方法,其特征在于,所述堆栈调整的过程为:
步骤Q4、从任务就绪表lqRdyTbl中找出就绪表中的最高优先级的任务;然后执行步骤Q5;
步骤Q5、判断就绪表中的最高优先级任务是否是当前任务,如果判断结果为是,执行当前任务;否则执行步骤Q6,进行堆栈调整;
步骤Q6、获取就绪表中的最高优先级任务的栈顶位置;
步骤Q7、判断当前任务的优先级是否高于就绪表中的最高优先级任务的优先级,如果判断结果为是,则执行步骤Q10;否则执行步骤Q8;
步骤Q8、根据任务堆栈数组中加载栈顶的地址与最高优先级任务的栈顶地址之间的差值,获得移动的空间长度,并把位于任务堆栈数组中加载栈顶的地址与就绪表中的最高优先级任务的栈顶地址之间的存储器中所存储的数据转移到当前任务的栈底地址处;
步骤Q9、根据当前任务的栈底地址与任务堆栈数组中加载栈顶地址之间的差值,调整堆栈数组中的所有任务的ID号对应的任务堆栈栈底值,使得所有任务的ID号对应的任务堆栈栈底值都在就绪表中的最高优先级任务ID号对应的任务堆栈栈底值到当前任务的ID号对应的任务堆栈栈底值之间;堆栈调整结束;
步骤Q10、根据就绪表中的最高优先级任务的栈顶地址与当前任务的栈底地址之间的差值,获得移动的空间长度,并把位于就绪表中的最高优先级任务的栈顶地址与当前任务的栈底地址之间的存储器中的所有数据移动到任务堆栈数组中加载栈顶的地址处;
步骤Q11、根据当前任务的栈底地址与任务堆栈数组中加载栈顶地址之间的差值,调整堆栈数组中的所有任务的ID号对应的任务堆栈栈底值,使得所有任务的ID号对应的任务堆栈栈底值都在就绪表中的最高优先级任务ID号对应的任务堆栈栈底值到当前任务的ID对应的任务堆栈栈底值号之间;堆栈调整结束。
4.根据权利要求1所述的一种嵌入51系列单片机的多任务实时操作系统的实现方法,其特征在于,所述把最高优先级的任务设置为当前任务,然后观察当前任务是不是空闲任务,如果是空闲任务,就直接返回,否则需要判断是否需要出栈操作然后才能返回的具体过程为:
步骤Q12、将就绪表中的最高优先级的任务作为当前任务;
步骤Q13、判断当前任务是否为空闲任务,如果判断结果为是,则执行步骤Q16;否则执行步骤Q14;
步骤Q14、判断当前任务是否被中断切换,如果判断结果为是,则执行步骤Q15,否则执行步骤Q16;
步骤Q15、将任务切换类型设置为非中断切换类型,并执行寄存器出栈操作;
步骤Q16、开中断,完成任务调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110001117.8/1.html,转载请声明来源钻瓜专利网。





