打印

为什么要学习ucos

[复制链接]
14956|97
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crazy2012|  楼主 | 2013-10-3 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 crazy2012 于 2013-10-3 22:06 编辑

一直写裸机程序,最近在考虑学习下ucos系统。想知道什么情况下才有必要、有需要用ucos的。因为就目前我所做的东西来说都比较简单,都是裸机程序就可以了。我的疑问是究竟做什么样的东西的时候才会用到系统,我想用系统肯定是因为系统的某种好处吧。

相关帖子

沙发
linfeng24| | 2013-10-3 23:33 | 只看该作者
因为实时操作系统的执行效率和稳定性都比裸机跑高

使用特权

评论回复
评论
icecut 2013-10-8 22:12 回复TA
因为轮子比较大.小坑基本不倒.裸奔就像踩高跷,容易被小坑坑了 
xiaoyuan_ly 2013-10-8 16:53 回复TA
哎,蛋疼的问题。。。。。。 
NE5532 2013-10-5 15:34 回复TA
同意!刘翔背着你跨栏,肯定比他自己裸奔跑得要快,而且脚伤也会稳定得多的! ^_^ 
dong_abc 2013-10-3 23:58 回复TA
谬论,拉出去打pp. 
板凳
chenbb8| | 2013-10-4 14:34 | 只看该作者
逻辑简单就不要用操作系统了,学习就例外吧。

使用特权

评论回复
地板
crazy2012|  楼主 | 2013-10-4 17:53 | 只看该作者
chenbb8 发表于 2013-10-4 14:34
逻辑简单就不要用操作系统了,学习就例外吧。

学习?我们为什么要学习这个呢。

使用特权

评论回复
5
123de7| | 2013-10-4 18:11 | 只看该作者
关注中 。。。。。

使用特权

评论回复
6
i55| | 2013-10-4 19:02 | 只看该作者
程序写起来简单,任务调度扔给scheduler去搞,不费脑子。

使用特权

评论回复
7
ipman| | 2013-10-4 19:27 | 只看该作者
看项目复杂度

使用特权

评论回复
8
加油吧小鱼儿| | 2013-10-4 21:27 | 只看该作者
我是过来学习的!

使用特权

评论回复
9
MJM_WSY| | 2013-10-4 21:40 | 只看该作者
我也正在学习之中。。。感觉系统就是合理的分配CPU达到高效处理问题的一中方法,其实像是while+中断这种前后台的程序,要是执行很多东西的话是很费事的!

使用特权

评论回复
10
crazy2012|  楼主 | 2013-10-5 11:14 | 只看该作者
linfeng24 发表于 2013-10-3 23:33
因为实时操作系统的执行效率和稳定性都比裸机跑高

我的工程是一个流水灯程序,ucos比我用裸机跑还稳定?

使用特权

评论回复
11
crazy2012|  楼主 | 2013-10-5 11:14 | 只看该作者
ipman 发表于 2013-10-4 19:27
看项目复杂度

复杂程度?能否举个例子。

使用特权

评论回复
12
crazy2012|  楼主 | 2013-10-5 11:15 | 只看该作者
chenbb8 发表于 2013-10-4 14:34
逻辑简单就不要用操作系统了,学习就例外吧。

不要告诉我是为了找工作时候简历上面多一条自己会ucos,这个有啥意思。

使用特权

评论回复
13
slotg| | 2013-10-5 11:54 | 只看该作者
关注这个话题, 我自己也没用过操作系统, 也是很想知道在怎样的情况下会需要使用操作系统.

使用特权

评论回复
评论
dong_abc 2013-10-5 21:00 回复TA
看20楼的题目,用前后台试试 ^ _ ^ 
14
KC_CEC| | 2013-10-5 12:56 | 只看该作者
我也一直没有用过UCOS这种大家常用的系统,一般来说一个合作式调度器加上状态机可以解决很多问题了

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
xiaoyuan_ly + 4 操作系统本质上也是一个状态机,只是一个复.
15
chenbb8| | 2013-10-5 17:31 | 只看该作者
crazy2012 发表于 2013-10-5 11:15
不要告诉我是为了找工作时候简历上面多一条自己会ucos,这个有啥意思。

可以写在简历上,这的确是有用的地方,如果能写到linux会更好,哈哈,现实点也是不错的。

但是会ucos不是说你会用ucos玩流水灯,而是你如何将一个复杂的系统分解成各个模块,
每个模块之间的关系如何,相互之间如何通讯,不用看你的开发板了,上面的东西只是多而已。
如果会用RTOS的话,ucos的几个构件能够简化设计的难度。
不过我的应用也不算复杂,用ucos当然会变简单,但现在用状态机+调度器也凑合,
while循环加标志位 这种设计方法在较复杂的系统上的应用就免了,我可是吃过大苦头:Q

每种设计方式都有其优缺点,只是演示流水灯的话,连状态机 标志位 前后台 都可以不用~

使用特权

评论回复
16
chenbb8| | 2013-10-5 17:53 | 只看该作者
多复杂用RTOS比较好啊,随便想个:
你老大交给你一个任务,有以下要求
1 通过按键操作的菜单,操作要求流畅,并可以通过长按上/下键连续切换菜单
2 菜单通过LCD屏幕显示,每次刷屏时间40MS,长时间不操作屏幕的时候需要关闭屏幕,关闭/开启屏幕时间200ms,期间不能插入别的指令
3 菜单设置好参数,进入启动模式后,当传感器有信号后,需要以500KHz的速度采集500K个18位的数据,不能有遗漏,触发传感器采集的时机随机,平均每天100次
4 对采集的数据进行运算,你的硬件全速处理500K个数据,需要10S
5 RS485通讯,波特率4800,视情况一次性最多要将处理后的20M个数据发送出去,通讯响应时间小于100ms
6 根据异常情况的不同,通过LED和PWM发出几种声光报警

使用特权

评论回复
17
crazy2012|  楼主 | 2013-10-5 18:20 | 只看该作者
chenbb8 发表于 2013-10-5 17:53
多复杂用RTOS比较好啊,随便想个:
你老大交给你一个任务,有以下要求
1 通过按键操作的菜单,操作要求流畅 ...

你说的这个任务,之前我用裸机都写过这样复杂程度的程序。

使用特权

评论回复
18
chenbb8| | 2013-10-5 18:29 | 只看该作者

RTOS编程优点就是爽快

crazy2012 发表于 2013-10-5 18:20
你说的这个任务,之前我用裸机都写过这样复杂程度的程序。

这个复杂程度和我之前用调度器+状态机的工程类似。
但是在这种裸机编程环境下,状态机用的实在是不爽 麻烦。
用RTOS的话,会简单很多。
1 按键中上等优先级 菜单中等优先级
2 屏幕中下等优先级,通过队列和菜单通讯
3 采集放到ISR
4 处理最下优先级
5 通讯优先级中下
6 警报处理中等 声音 和 光 中下
7 电量 等杂七杂八的东西最下

使用特权

评论回复
19
雪山飞狐D| | 2013-10-5 18:56 | 只看该作者
为了增加点简历的底气也不是不可以,学把

使用特权

评论回复
20
dong_abc| | 2013-10-5 20:53 | 只看该作者
crazy2012 发表于 2013-10-5 18:20
你说的这个任务,之前我用裸机都写过这样复杂程度的程序。

再出道题,来试试。:lol
John Lee<j.y.lee@yeah.net> 17:38:32
系统中有2个事件:E1、E2,和一个共享设备。

紧急处理(中断)部分:
2个事件都必须在0.5ms内响应,执行时间都为0.1ms。

滞后处理(任务)部分:
E1必须在10ms内完成,实际处理时间最短为5ms。
E2必须在50ms内完成,实际处理时间最短为20ms。

两个事件的滞后处理部分,都需要独占访问共享设备,但占用时间很短,都只有0.5ms。
@chenbb8  

使用特权

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

本版积分规则

150

主题

939

帖子

9

粉丝