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

2020-01-12 17:14发布

自己写了个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)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
chenao
1楼-- · 2020-01-12 22:58
顶一个,向峰哥看齐
jianchangd
2楼-- · 2020-01-13 03:47
不错,最近怎么很多人在搞OS了呀.
823032003
3楼-- · 2020-01-13 05:18
汇编,,厉害
zuceyige
4楼-- · 2020-01-13 09:11
 精彩回答 2  元偷偷看……
laneasuka
5楼-- · 2020-01-13 10:27
感谢分享,学习一下。
wdcyf15
6楼-- · 2020-01-13 14:03
唉,想搞OS,可是自己笨的可以……

一周热门 更多>