打印

裸奔和os其实没啥可争的

[复制链接]
楼主: wangkj
手机看帖
扫描二维码
随时随地手机跟帖
41

MCU最合适的还是 嵌入式裸奔

但 嵌入式裸奔 太难了点,初学者选择OS也完全可以理解。
俺以前说过“MCU高手不用OS”,现在还是有效。

使用特权

评论回复
42
农民讲习所| | 2007-12-7 15:26 | 只看该作者

俺提过一个嵌入式裸奔中重要的概念

主循环层次处理的时间模糊性,可丢失特性。
比如要求LED 0.5S闪烁一次,没比较做到很精确,需要发挥模糊特性:0.45-0.55S都可以,类似模糊控制原理(呵呵,假的)。

使用特权

评论回复
43
xwj| | 2007-12-7 15:27 | 只看该作者

呵呵,裸奔就好比庖丁解牛,OS可就好比自动切肉机了

前者针对不同情况采用不同的处理手段,能够处理任何的硬骨头,但要求技术高超,非常而且费神;

后者就简单了,把肉直接扔进去就行了,一般情况下都可以把肉切的比庖丁的都好,但是碰到“要求是响应时间1微妙,执行时间1微妙”这样的硬骨头...那还是的优庖丁解决:-)
而且,切肉机对肉也是有要求的,你要是把头猪直接扔进去...出来的肉只怕没人敢吃了吧?



谁都知道Windows下要实现个1uS的精确延时多么的难,难道圆圈你没听说过吗?
竟然还举出这样的例子,这不是给反方增加论据吗?

呵呵^_^

使用特权

评论回复
44
圆圈| | 2007-12-7 15:28 | 只看该作者

哎...

农民,我也不想说什么,只不过你的那种做法,我以前单片机上也做过的~ 其实要想做那种模式,上手并不难~  了解状态机,熟悉软件系统分析,模块拆分的,很快能上手做~  不过我做单片的时候,也确实从来没用过os,因为根本没必要浪费那个资源~  但其他地方就不一样了~  

使用特权

评论回复
45
圆圈| | 2007-12-7 15:30 | 只看该作者

43楼

我吐下先~~  拜托能不能不要把自己看太高~~

使用特权

评论回复
46
农民讲习所| | 2007-12-7 15:31 | 只看该作者

只要不是很大的系统,只一两个人做的

用嵌入式裸奔是比较好的,不管8位还是ARM9

但如果需要多人协作,并支持外部未知设备的,还是OS好,这点OS表现非常优秀,规则大家都遵守。

个人看法。

使用特权

评论回复
47
gouki_s| | 2007-12-7 15:34 | 只看该作者

to dld2

1、复杂系统中,OS也不能保证响应时间,大家都在尽力而为。例如抢占调度下,一个最高优先级任务的响应时间是:所有可能同时发生的中断的处理时间+任务上下文切换时间;但是因为驱动层的隔离,你可能根本不知道有多少个中断源。
//////////////////////////
这条不敢苟同。
区别也就是在立即调度还是等当前任务放弃cpu后再调度,至于多个中断源啥的,裸不裸奔没啥区别。

使用特权

评论回复
48
圆圈| | 2007-12-7 15:35 | 只看该作者

赫赫

这和多人是否协作没有关系~  关键看产品,看产品的复杂度指标要求资源配置进度等等...

使用特权

评论回复
49
xwj| | 2007-12-7 15:40 | 只看该作者

啊?难道你吃了那样的猪肉?自己吐的自己去收拾...

说来说去其实论点很简单:

所长说的是裸奔区别对待实时要求,概念清晰,处理手段分明,大小MCU通吃。 
圆圈说的是OS万能,实时性胜过裸奔,开发比裸奔简单
我的观点是说实时性OS永远不可能胜过裸奔,说应用则要各取所需

牛头不对马嘴,更不想变成人生攻击,懒得说了。

你们爱争的就继续争吧...

使用特权

评论回复
50
dld2| | 2007-12-7 15:57 | 只看该作者

47楼

圆圈强调:在没有OS时,“很难控制每个任务延迟时间”。
我的意思是,使用OS在稍复杂一点的情况,要分析每个任务的响应时间,都是一件很头痛的事情。最高级任务还好分析,最低级任务不管它,中间那些呢?所以,大家都在尽力而为。

使用特权

评论回复
51
gouki_s| | 2007-12-7 16:36 | 只看该作者

50楼

圆圈强调:在没有OS时,“很难控制每个任务延迟时间”。
我的意思是,使用OS在稍复杂一点的情况,要分析每个任务的响应时间,都是一件很头痛的事情。最高级任务还好分析,最低级任务不管它,中间那些呢?所以,大家都在尽力而为。
//////////////////////////////////
讨论嘛,大家平心静气
圆圈这句话也没啥错。当然你也没啥错。
所长大人那个裸奔结构,任务最大延迟==分割的最长一块代码执行时间,这还是在有优先级的情况下。如果不分优先级,那么最大任务延迟==其他所有任务最长代码段总和

使用特权

评论回复
52
农民讲习所| | 2007-12-7 16:45 | 只看该作者

gouki_s想的不对,还没转过弯

使用特权

评论回复
53
农民讲习所| | 2007-12-7 19:16 | 只看该作者

分割任务,以WINDOW为首

做个WINDOW程序的都知道,一个MOUSE点击、一次KEY动作就是一个函数,说白了就是一个状态发生变化,一个事件产生了。如果你想象的OS线程来写程序,肯定是傻傻的等待。嵌入式裸奔分成稳定的状态来表达事件的需要,才是符合程序设计的世界观。

分割不是乱来的,是状态改变的需求。如果只在状态改变时执行有效代码,那么状态没改变的那些任务可以出让大量的时间给改变中的任务。

嵌入式裸奔从宏观上看,是一个巨大的平均器,将处理事件平均化,谁冒泡就敲谁。

使用特权

评论回复
54
IceAge| | 2007-12-7 21:14 | 只看该作者

强烈支持 农民讲习所

对于资源稀缺的 mcu, 半裸(嵌入式裸奔)是一个比较好的方法或者说 架构。

使用特权

评论回复
55
gooog| | 2007-12-7 21:25 | 只看该作者

唉,所长都绕回来了

 农民讲习所 发表于 2007-12-7 15:31 侃单片机 ←返回版面    

46楼: 只要不是很大的系统,只一两个人做的 

用嵌入式裸奔是比较好的,不管8位还是ARM9

但如果需要多人协作,并支持外部未知设备的,还是OS好,这点OS表现非常优秀,规则大家都遵守。

个人看法。 
 =======================
记得所长说过裸奔过200w行的程序,不知道这100w行是多少人合作的。

记不清楚了是不是200w行,记错了还忘谅解。


使用特权

评论回复
56
hotpower| | 2007-12-8 01:55 | 只看该作者

哈哈~~~IceAge俺的老师~~~半裸(嵌入式裸奔)

看大家争得热火朝天的...俺不参与...

至于如何裸,是半裸,全裸,黑裸还是色裸,大家自己都有自己的裸的体验~~~

至于要统一裸的标准,估计很难~~~

使用特权

评论回复
57
xwj| | 2007-12-8 09:23 | 只看该作者

呵呵,要统一裸的标准,估计很难~~要做到Hotpower那样赤裸裸更

...

使用特权

评论回复
58
gooog| | 2007-12-8 11:58 | 只看该作者

所长厉害啊

另外回楼主
你把它当作争论也好,讨论也好。
在这里能够学到新知识新方法才有意义。
在讨论中学习。。。。

使用特权

评论回复
59
hotpower| | 2007-12-8 12:08 | 只看该作者

哈哈~~~俺在PC上喜欢回调,再MCU上就"赤裸裸"

感觉所长的嵌入式裸奔还嫌穿得多~~~要"裸"就裸个"透"~~~

使用特权

评论回复
60
农民讲习所| | 2007-12-8 13:21 | 只看该作者

俺裸奔穿的比hotpower多,是因为

俺想实现MCU设计标准库化工具化,解放广大的贫下中农。目标远大。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则