码迷,mamicode.com
首页 > 其他好文 > 详细

simpleOS 1.0

时间:2016-04-18 13:16:51      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

做了一个so simple的OS,本不好意思多说的。。。。不过还是说下吧。

首先,买不起开发板的我没有办完完成一件事,那就是保存任务上下文,因为这个过程实际上是将寄存器的值存放到任务堆栈中去的。

而要想实现,因为要访问寄存器,所以这个需要用到汇编代码,本机window显然没法模拟。

(有时间研究下Linux或者买个开发板看看能不能解决)

 

所以,最后的实现结果,实际上是每次选择优先级最高的任务去完成,这样就不存在抢占的问题了,不复杂。

大致为OSTaskCreate()创建任务,OSTaskDel()删除任务,OSSched()调度程序,OSTaskIdle()空闲任务,OSInit()操作系统初始化。

 

OSSched()选择优先级最高的任务,如何快速选择?uC/OS中的方法是个不错的选择:

http://www.cnblogs.com/gylei/archive/2012/05/31/2528776.html

 

好了剩下的就不复杂了,具体见代码吧:

技术分享View Code

 

simpleOS 1.0

标签:

原文地址:http://www.cnblogs.com/zhazhalovecoding/p/5403932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!