PK使人进步:OS 多任务调度内核揭秘

[复制链接]
11253|43
Cortex-M0 发表于 2011-10-27 22:43 | 显示全部楼层
路子正,条例清晰,好贴要多顶~~~
zhlking 发表于 2011-10-27 22:52 | 显示全部楼层
顶一个,记下来慢慢学习~
 楼主| highgear 发表于 2011-10-27 23:14 | 显示全部楼层
谢谢各位捧场。

这段程序主要是原理展示,用汇编可以极大的提高调度效率,但会失去可读性。对于移植到8051,我看就得使用汇编来实现调度,而且必须把任务栈放在内部RAM里,否则效率很低。8051内部RAM有限,而且不支持外部数据栈,从这两点上看,8051不是一个为 OS 准备的CPU平台。
hotpower 发表于 2011-10-28 01:37 | 显示全部楼层
哈哈,PK真让人进步呀~~~学习了
fskjhm 发表于 2011-10-28 08:07 | 显示全部楼层
支持,支持
airwill 发表于 2011-10-28 08:16 | 显示全部楼层
hot 兄后半夜, 还不忘记上来 PK !
对于我辈楷模, 我很敬重, 另外也要给一个忠告. 要注意休息, 注意身体呀!
sjzzlxy 发表于 2011-10-28 08:37 | 显示全部楼层
这个不错 学习一下!
Cortex-M0 发表于 2011-10-28 09:15 | 显示全部楼层
哈哈,

PK使人进步:紧跟菜农,学习了~~~
zgh836987437 发表于 2011-10-28 09:18 | 显示全部楼层
楼主犀利
华山123 发表于 2011-10-28 13:25 | 显示全部楼层
hq_y 发表于 2011-10-30 20:55 | 显示全部楼层
坐等刘前辈。。。。:(
Cortex-M0 发表于 2011-10-31 07:17 | 显示全部楼层
好贴要多顶~~~
 楼主| highgear 发表于 2011-10-31 23:41 | 显示全部楼层
发一个改变定时中断时间的程序:

void ChangeTimerInterval(unsigned int ms)
{
        unsigned int count = (unsigned int) (((long) 119318) * ms / 100);
        disable();
        outportb(0x43, 0x3C);
        outportb(0x40, (unsigned char) (count & 0xFF));
        outportb(0x40, (unsigned char) ((count >> 8) & 0xFF));
        enable();
}

评分

参与人数 1威望 +1 收起 理由
Cortex-M0 + 1

查看全部评分

Cortex-M0 发表于 2011-11-1 17:02 | 显示全部楼层
再顶~~~
w522930954 发表于 2011-12-9 11:58 | 显示全部楼层
lixiaoxu2meng 发表于 2011-12-9 14:07 | 显示全部楼层
善解人意 发表于 2011-12-10 13:18 | 显示全部楼层
small rtos 51是UCOS精简版程序,可以在51上运行,感觉small rtos 51系统程序在8位的单片机上运行会吃力,还是ARM的给力一些。
Cortex-M0 发表于 2011-12-10 15:14 | 显示全部楼层
和 30年前的MCU构架相比,思路就错,这是没啥比头的。

就像 30年后,我们的子孙拿着 神经MCU,片内集成了 24位超高速ADC,和ARM比,ARM算个啥?要速度没速度,要精度没精度,成本还超级高~~~
dong_abc 发表于 2011-12-10 18:28 | 显示全部楼层
这么好的帖子我今天才看到~~~
sedatefire 发表于 2012-7-13 15:46 | 显示全部楼层
怎么插入代码的,很整齐啊
sysdriver 发表于 2011-10-27 16:59

我也想知道呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部