讨论:ucosii和嵌入式linux的比较?

大船-长风破浪 2009-07-28 08:52:08
最近工作上要用到操作系统,于是在ucosii和嵌入式Linux之间难以选择。因为本人对Linux了解不多,所以请各位达人给出出主意。
应用方向:
0、可靠性、可扩展性。这个我觉得两个系统都满足,因为是系统,所以平台应该很可靠。
1、图形界面编程(目前是液晶、以后估计会上彩屏、触摸屏);
2、多个单元的通信(UART、CAN、TCPIP)等;这个应该都可以实现,但是驱动来说,ucosii相对来说应该还是不如Linux成熟吧?
3、支持远程升级程序,节省外出更新程序的费用; 这个我查了查资料,感觉ucosii有些困难,各位达人这方面请指点迷津。
4、技术支持很丰富。
5、忘了一点,就是实时性;实时性的话,ucosii应该是有些优势。但是linux就不能改进改进吗?请指教!

大概就写了这么多,希望各位达人给指点 谢谢
...全文
1528 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pyh 2009-07-29
  • 打赏
  • 举报
回复
谈谈ucos吧

1、液晶屏升级彩屏或触摸屏
目前公司用的是液晶屏,也简单实用了周公的ZLG_gui软件包。以后也许会升级为彩屏,应该也能用上。
=============================================================================
升级彩屏和液晶屏和系统关系不大,现在的cpu多数都有彩屏接口,接好就行了,初始化以后分配映射一块ram给显示缓冲就行了,相应的修改主要在GUI部分。触摸屏可能会稍微复杂些,底层驱动很简单,但是要整合到GUI中会出现一些问题!

2、远程升级
这个功能其实很有必要,因为公司每年程序升级都要出差到各地升级。你说ucosii不支持网络功能,但是我在他的官网看到是有TCP/IP的源码的。而且周公提供的软件包也有网络应用(没有试验过)。
===============================================================================
我的意思是免费版本是没有TCP/IP支持的。做网络升级我觉得只是看起来酷点而已,但是要做网卡驱动程序,还要建立一个高优先级的任务,来执行网络监听,看你们应用了!一般做法是,把文件系统整合到bootloader中,启动时判断有没有升级文件(就是os镜像),如果有,就进行版本判断和文件校验,如果符合条件,就从文件读取镜像放到ram中去,否则在从存储介质上加载镜像。这样的话,给用户一个文件,让他放到存储介质上,重启下机器就可以实现升级目的了,这样比较简单,实现也更快!当然,一般cpu的启动代码可能比较小,比如说只有4k,放不下文件系统,那么可以采取2级引导的方式!

楼上说的让用户自己烧bootloader,把用户看的太聪明了,^_^。我觉得哪怕是拷贝一个文件升级,也应该做成安装包,一路next即可,否则问题多多的!


3、技术支持
ucosii 我想选用周公的支持。linux应该是同事和网络支持。
=====================================================================
除了CPU厂商以外,从来没有获得过任何软件支持,都是自己做,没经验,不发表看法!

3、开发平台
其实,我们领导的意思是希望能够选好系统,以后作为公司软件开发的一个统一平台。我觉得很好,也很必要。
======================================================================
这个说下个人看法,应用决定需求,如果你们偏重于控制,所有代码都是自己写,那用UCOS好些,如果偏重于应用,那么就是linux,资源多!

充电宝111 2009-07-29
  • 打赏
  • 举报
回复
gui的话ucgui既可以运行在ucos上,也能porting到linux上,不过一般linux都用gtk或qt
sherlock_lai 2009-07-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 freedomzlp 的回复:]
    多谢达人们的指点。尤其感谢朴兄的指点。

    今天我也在网上查阅了一些资料,有了一些体会。两个系统各有利弊,关键在于自己的需求。
   
    首先回答Sherlock兄的问题:
    1、之前用ucosii做过一些应用,不能说是很深入。
    2、CPU的话,ucosii用的是LPC2294。linux同事用的是2410.
    然后在和朴兄探讨下:
    我们公司的应用主要集中在控制方面,主要希望扩展2方面的应用:
    1、液晶屏升级彩屏或触摸屏
    目前公司用的是液晶屏,也简单实用了周公的ZLG_gui软件包。以后也许会升级为彩屏,应该也能用上。
  2、远程升级
    这个功能其实很有必要,因为公司每年程序升级都要出差到各地升级。你说ucosii不支持网络功能,但是我在他的官网看到是有TCP/IP的源码的。而且周公提供的软件包也有网络应用(没有试验过)。
    3、技术支持
    ucosii 我想选用周公的支持。linux应该是同事和网络支持。
    3、开发平台
    其实,我们领导的意思是希望能够选好系统,以后作为公司软件开发的一个统一平台。我觉得很好,也很必要。
    还望达人们深入讨论讨论:)。谢谢
[/Quote]
第一点:以后要升级什么彩屏? TFT? 那肯定是要用ARM9+的CPU的(主要是主频要跟上),这样肯定是linux比较好(因为有成熟的gui),如果你要求实时性很高,(比如一个周期50ms要采样多少个点处理这类情况),那就不用考虑linux了,因为做不到的。想改内核? 除非你的公司规模能够比得上华为,中兴等,不然不用想。
第二点:如果只是软件升级需要出差? 写个详细文档告诉别人怎么烧程序不就得了?至于uc/os下的TCP/IP源码,很多现成的,google就有了。linux也不能远程升级内核,只是有boot-loader烧程序比较方便。
第三点:不需要什么技术支持了,简单的东西你自己看看书也会,难的东西别人不知道,知道也不告诉你。又不是硬件,有厂家的支持,这两个操作系统本身就是开源,哪来什么技术支持。
第四点:开发平台,总之是和硬件有关,这两个操作系统不会面临难以选择的情况。如果是linux和wince或者ucos和vxworks还是需要考虑选哪个。
sherlock_lai 2009-07-29
  • 打赏
  • 举报
回复
楼上正解。。。而且简单明了
flight871 2009-07-29
  • 打赏
  • 举报
回复
都用过 ucos简单,linux复杂,看你的应用场合,不过linux对CPU要求高,ucos 51都可以跑。升级可以弄个FTPSERVER。
充电宝111 2009-07-28
  • 打赏
  • 举报
回复
ucosII虽然可以称为操作系统,但是太简单了,外围的支持太少了,对于开发复杂的应用周期会比较长,其实也做不了太复杂的应用。都是比较低端的CPU会用ucos。
linux(uClinux)相对的资源会比较多,开发起来会比较容易一些。高端的CPU会用。
sherlock_lai 2009-07-28
  • 打赏
  • 举报
回复
感觉你对UCOS也不是很了解,先多看看邵贝贝的书吧,UCOS和linux是完全不同的,根本就没有难以选择的情况
  • 打赏
  • 举报
回复
多谢达人们的指点。尤其感谢朴兄的指点。

今天我也在网上查阅了一些资料,有了一些体会。两个系统各有利弊,关键在于自己的需求。

首先回答Sherlock兄的问题:
1、之前用ucosii做过一些应用,不能说是很深入。
2、CPU的话,ucosii用的是LPC2294。linux同事用的是2410.
然后在和朴兄探讨下:
我们公司的应用主要集中在控制方面,主要希望扩展2方面的应用:
1、液晶屏升级彩屏或触摸屏
目前公司用的是液晶屏,也简单实用了周公的ZLG_gui软件包。以后也许会升级为彩屏,应该也能用上。
2、远程升级
这个功能其实很有必要,因为公司每年程序升级都要出差到各地升级。你说ucosii不支持网络功能,但是我在他的官网看到是有TCP/IP的源码的。而且周公提供的软件包也有网络应用(没有试验过)。
3、技术支持
ucosii 我想选用周公的支持。linux应该是同事和网络支持。
3、开发平台
其实,我们领导的意思是希望能够选好系统,以后作为公司软件开发的一个统一平台。我觉得很好,也很必要。
还望达人们深入讨论讨论:)。谢谢
sherlock_lai 2009-07-28
  • 打赏
  • 举报
回复
楼上说了这么多。。。别人都没说什么CPU呢
pyh 2009-07-28
  • 打赏
  • 举报
回复
2个OS我都做过成熟的系统,所以可以回答一下你,记得给分!
0.可靠性,可扩展性
UCOS更可靠,因为移植简单,linux可扩展性好,但是移植困难,需要CPU厂家支持!
可靠性另一个要素是文件系统,不论用啥系统,这个你都要自己搞!
1.GUI编程
你有成熟的GUI的话,最好用UCOS,linux一旦用gui,系统就会反应慢,并且变得庞大!
2.多个单元通信,UCOS不支持TCP/IP,用自己搞,据说有商业版本的,不过要银子!
3.远程升级,依赖于内容2
4.技术支持就别想了!
5.实时性,UCOS好,linux是可以改进,不过国内有这个水平的人不多!

建议:如果人手少,时间紧,还是用linux吧,资源比较多!UCOS啥都得自己动手!

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧