搜索
bottom↓
回复: 23

自己写了个51的OS,抢占式,支持16个任务。堆栈设在XRAM

[复制链接]

出0入0汤圆

发表于 2010-10-15 19:01:44 | 显示全部楼层 |阅读模式
自己写了个51的OS,抢占式,支持16个任务。堆栈设在XRAM。本着开源的原则与大家共享!
一起来测试它的稳定性。变量尽量设成静态的!没有信号量,切换周期大约400。
点击此处下载 ourdev_590122L84N9C.rar(文件大小:76K) (原文件名:myOS.rar)

51的OS与avr,stm等有较大的不同。51的SP只有8bit,不能指向XRAM的部分,需要先把状态压栈,然后把栈拷贝到XRAM中,再把现在要运行的任务的堆栈恢复。同时为了加快任务调度的速度需要计算一下压栈的深度,根据压栈的深度来保存有用的数据。

keil编译。
适合STC,在STC12C5A60S2上试了一下,很稳定!
为了兼容51,没有用双dptr。

(原文件名:未标题-1.jpg)

出0入0汤圆

发表于 2010-10-15 19:08:37 | 显示全部楼层
顶一个,向峰哥看齐

出0入0汤圆

发表于 2010-10-15 19:48:14 | 显示全部楼层
不错,最近怎么很多人在搞OS了呀.

出0入0汤圆

发表于 2010-10-15 21:00:52 | 显示全部楼层
汇编,,厉害

出0入0汤圆

发表于 2010-10-15 21:24:30 | 显示全部楼层
下载来学习一下,谢谢楼主!。

出0入0汤圆

发表于 2010-10-15 21:52:46 | 显示全部楼层
感谢分享,学习一下。

出0入0汤圆

发表于 2010-10-16 12:40:09 | 显示全部楼层
唉,想搞OS,可是自己笨的可以……

出0入0汤圆

发表于 2010-10-16 13:38:18 | 显示全部楼层
很像是从UCOS过来的

出0入0汤圆

 楼主| 发表于 2010-10-16 14:03:54 | 显示全部楼层
回复【7楼】19001579
-----------------------------------------------------------------------

借鉴了挺多地方的,比如任务优先级的算法是学的Linux查表,对于像STC这种大ROM小RAM,cpu也不怎么样的单片机很适合。

这个OS的关键就是把堆栈转移到XRAM中,dptr只能用inc自加,却不能自减,不能像普通OS那样先入后出,后入先出。

出0入0汤圆

发表于 2012-9-29 22:30:23 | 显示全部楼层
学习中,谢谢了!!!!!!!!!!!!

出0入0汤圆

发表于 2012-12-28 15:06:41 | 显示全部楼层
楼主强大,支持一个

出0入0汤圆

发表于 2013-1-1 19:45:56 来自手机 | 显示全部楼层
学习一下......

出0入0汤圆

发表于 2013-1-2 19:46:27 | 显示全部楼层
本帖最后由 sky5566 于 2013-1-2 23:59 编辑

如何解决(变量不用设成静态的)
这个是分时多工,必须使用time0做系统分时使用.

出0入0汤圆

发表于 2019-11-24 15:54:22 | 显示全部楼层
兄弟可以改成avr,iar的吗

出0入0汤圆

发表于 2019-11-25 00:18:52 来自手机 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2020-6-28 22:42:09 来自手机 | 显示全部楼层
下来学习参考下。

出0入0汤圆

发表于 2020-6-29 13:52:34 | 显示全部楼层
顶一个,学习

出0入0汤圆

发表于 2021-5-17 16:46:11 | 显示全部楼层
你们的技术真的 高了,哎

出0入0汤圆

发表于 2021-5-20 18:11:48 | 显示全部楼层
谢谢分享!要是再发几个例程就更好了!

出0入0汤圆

发表于 2021-5-28 08:21:15 | 显示全部楼层
收藏膜拜

出0入0汤圆

发表于 2021-9-19 10:56:35 | 显示全部楼层
先收藏,有空学习

出0入0汤圆

发表于 2021-9-30 22:38:00 | 显示全部楼层
下来学习一下

出0入0汤圆

发表于 2021-9-30 22:38:41 | 显示全部楼层
楼主,怎么下载不了

出0入0汤圆

发表于 2022-4-1 08:49:56 | 显示全部楼层
看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 09:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表