打印

【讨论】“嵌入式裸奔”、“嵌入式OS”、“OS”各适合什么

[复制链接]
楼主: 农民讲习所
手机看帖
扫描二维码
随时随地手机跟帖
81
gooog| | 2007-12-8 11:56 | 只看该作者 回帖奖励 |倒序浏览

裸奔和使用os的区别

裸奔就是自己为一个项目架构程序,哪怕你为了这个项目自己架构一套os,都应该叫做裸奔。

os就是使用商业化的os(或者开源os),这些os的代码都是事先经过测试的。其任何一行代码都可能经过了成千上万次检验。

个人看法。

使用特权

评论回复
82
hq_y| | 2007-12-8 12:00 | 只看该作者

在裸奔和OS之间,是一个逐渐变化的过程

在标准的前后台程序之间,开始慢慢有意无意的吸收OS的一些特征;
演变为了嵌入式裸奔~~~~~~~``

每一个人根据自己的嵌入对象(宿主)和行业特征、规模的不同,做出来的嵌入式裸奔风格不同,是完全可以理解的;

裸奔不是万能的,但是没有裸奔是万万不能的;
OS  不是万能的,但是没有OS  是万万不能的;

使用特权

评论回复
83
5_0_5| | 2007-12-8 13:20 | 只看该作者

没有裸奔就没有OS,没有OS裸奔也不好进行

汇编--C
裸奔--OS
...

if(意义==1)
{
  ...   //争论
}
else
  萝卜!=白菜;

俺的浅见:
        裸奔是行为
         OS是思想
没有裸奔就没有OS,没有OS裸奔也不好进行

使用特权

评论回复
84
yewuyi| | 2007-12-8 15:23 | 只看该作者

~~,自从俺知道所长想说什么为止

就发现其实根本不用争执了……


呵呵,其实都差不多,只是很多工程师根据自己经常做的项目做了自己认为的更好的优化,~~,没有什么本质区别。

呵呵,不过很佩服所长把代码封装成那样的本领,呵呵,俺写的太随意了……

使用特权

评论回复
85
hotpower| | 2007-12-8 15:25 | 只看该作者

所长想换人脑~~~

使用特权

评论回复
86
yewuyi| | 2007-12-8 17:07 | 只看该作者

所长以前说要写本书什么的……

后来就没了……

变成了一个BLOG,但基本上上面东西很少……


~~,似乎后来也没进行维护增加新东西?!

使用特权

评论回复
87
lau_jia| | 2007-12-8 22:20 | 只看该作者

我提倡裸奔

不过现如今想找这方面的工作,你不会os,面试你的人就会鄙视你,很多情况虽然我们的设计并不需要os,但是为了应付那些sb,你也没有办法。

使用特权

评论回复
88
bird777| | 2007-12-9 00:54 | 只看该作者

来点大实话.

OS是个趋势,它的思想在现代管理活动中到处可以看见.

农民:"嵌入式裸奔从宏观上看,是一个巨大的平均器,将处理事件平均化,谁冒泡就敲谁。"
其实仔细看看,OS也一样的.

1.不要在乎任务切换花费的几十个US.(当然任务也不要切的太细了.任务越多,说明这个系统越赚钱,否则...)
2.不要在乎临界状态对中断的响应的影响.(移植好了,实话说不用去计较)
3.不论是裸奔还是跑OS,"缓冲"是取得胜利的法宝之一.有时候,会同时冒出好几个泡泡,在飞到天花板上之前,消灭它们,就是好系统.
4.用上了OS,感觉没有裸奔爽,这个是不可能的,一定**认为不爽,那么就在task0(下),一路奔到底也可以,
时拍当然不能取消,它也属于农民说得"弱实时部分",这个开销一定要的.这样就和裸奔一个样.
5.一定要学习好农民的嵌入式裸奔思想,在今后上操作系统时,对任务的划分和内部上的处理分析检讨上不会举棋不定现象.

HOTPOWER的框架分析过,他看待任务大概只有两种:1周期性任务,2非周期性任务(事件触发的).周期性的任务全部交给定时器中断服务去做.非周期性的分析后,一些纳入周期性任务对待,一些用硬中断驱动.HOTPOWER的框架做小系统非常经典,因此建议小系统学习HOTPOWER,还比较省电.不要上OS了.




task0(){//弱实时部分/后台/模块怎么看都可以. 
    OSSemPend(X0_SEM, 8, &err);//case STATUS0: //if(EVENT0) //XX0_MainLoop()
}
task1(){
    OSSemPend(X1_SEM, 8, &err);//case STATUS1: //if(EVENT1) //XX1_MainLoop()
}
task2(){
    OSSemPend(X2_SEM, 8, &err);//case STATUS2: //if(EVENT2) //XX2_MainLoop()
}
task3(){
    OSSemPend(X3_SEM, 8, &err);//case STATUS3: //if(EVENT3) //XX3_MainLoop()
}
task4(){
    OSSemPend(X4_SEM, 8, &err);//case STATUS4: //if(EVENT4) //XX4_MainLoop()
}
task5(){
    OSSemPend(X5_SEM, 8, &err);//case STATUS5: //if(EVENT5) //XX5_MainLoop()
}
task6(){
    OSSemPend(X6_SEM, 8, &err);//case STATUS6: //if(EVENT6) //XX6_MainLoop()
}
task7(){
    OSSemPend(X7_SEM, 8, &err);//case STATUS7: //if(EVENT7) //XX7_MainLoop()
}

idel(){  // 真正后台
    ;//看个人发挥了.
}

一个样子的,缓冲最要紧.!!

使用特权

评论回复
89
sodwell| | 2007-12-9 09:03 | 只看该作者

re

我的观点就是能把项目做出来就行了,管他什么奔,哈哈

使用特权

评论回复
90
老狼| | 2007-12-9 11:42 | 只看该作者

我两个都赞同

我现在做的设备,基本上都是两个ARM,一个裸奔,作数据采集等实时性处理,另一个做人机界面,没办法,现在设备不上彩屏,卖不上好价钱!基本上都是320*240以上的彩屏,USB和网络接口也是必备的,在外加扩展卡,这部分用WINCE就很简单了,如果裸奔,编程序太浪费时间了。但是作数据采集等实时性处理的那个CPU,如果上了操作系统,那就是找死了,啥也干不了了!

使用特权

评论回复
91
machunshui| | 2007-12-9 14:44 | 只看该作者

无聊

无聊

使用特权

评论回复
92
yzqok| | 2007-12-11 14:07 | 只看该作者

俺路过...

使用特权

评论回复
93
hs426w| | 2007-12-13 14:17 | 只看该作者

学习~~

学习~~

使用特权

评论回复
94
LastNew| | 2007-12-13 18:13 | 只看该作者

如果所长的嵌入式裸奔改为自动分配内存会是什么样子了?

使用特权

评论回复
95
wangharry| | 2007-12-13 22:32 | 只看该作者

椅子

使用特权

评论回复
96
55953797| | 2007-12-14 14:53 | 只看该作者

大有受益!

使用特权

评论回复
97
bob.xue| | 2007-12-14 15:53 | 只看该作者

00太有才了~~~~~~

“就是用OS时任务是运行时由OS分片,而裸奔任务则是在运行之前由程序员分片。”

让人回味无穷哦~~~ 恐怕这就是 裸奔和OS的之间的精髓吧。

使用特权

评论回复
98
lh_gliet| | 2007-12-16 16:39 | 只看该作者

仔细看了

纯粹无聊
都一大把年纪的人了还争来争去干什么

使用特权

评论回复
99
gooog| | 2007-12-16 18:57 | 只看该作者

如果你感觉自己分片不累,就自己分喽

用过os以后,总想找有os系统的开发环境。
省事多了。

使用特权

评论回复
100
aihe| | 2007-12-16 21:03 | 只看该作者

每个人的境遇不一样

我支持所长的东西,让我们大家学习
但是有一点,我看法不一样,所有的人起点不一样
毕竟如果要深入了解,非得从ASM开始,基础的东西越了解,编程越好
不过如果,大家全在ASM里呆着,都没进步是吧
我的看法是,锄头是用来翻屋前屋后的,拖拉机是用来翻大片田地的,个有个的用处

使用特权

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

本版积分规则