当前位置: 技术问答>linux和unix
讨论:ucosii和嵌入式linux的比较?
来源: 互联网 发布时间:2016-06-20
本文导语: 最近工作上要用到操作系统,于是在ucosii和嵌入式Linux之间难以选择。因为本人对Linux了解不多,所以请各位达人给出出主意。 应用方向: 0、可靠性、可扩展性。这个我觉得两个系统都满足,因为是系...
最近工作上要用到操作系统,于是在ucosii和嵌入式Linux之间难以选择。因为本人对Linux了解不多,所以请各位达人给出出主意。
应用方向:
0、可靠性、可扩展性。这个我觉得两个系统都满足,因为是系统,所以平台应该很可靠。
1、图形界面编程(目前是液晶、以后估计会上彩屏、触摸屏);
2、多个单元的通信(UART、CAN、TCPIP)等;这个应该都可以实现,但是驱动来说,ucosii相对来说应该还是不如Linux成熟吧?
3、支持远程升级程序,节省外出更新程序的费用; 这个我查了查资料,感觉ucosii有些困难,各位达人这方面请指点迷津。
4、技术支持很丰富。
5、忘了一点,就是实时性;实时性的话,ucosii应该是有些优势。但是linux就不能改进改进吗?请指教!
大概就写了这么多,希望各位达人给指点 谢谢
应用方向:
0、可靠性、可扩展性。这个我觉得两个系统都满足,因为是系统,所以平台应该很可靠。
1、图形界面编程(目前是液晶、以后估计会上彩屏、触摸屏);
2、多个单元的通信(UART、CAN、TCPIP)等;这个应该都可以实现,但是驱动来说,ucosii相对来说应该还是不如Linux成熟吧?
3、支持远程升级程序,节省外出更新程序的费用; 这个我查了查资料,感觉ucosii有些困难,各位达人这方面请指点迷津。
4、技术支持很丰富。
5、忘了一点,就是实时性;实时性的话,ucosii应该是有些优势。但是linux就不能改进改进吗?请指教!
大概就写了这么多,希望各位达人给指点 谢谢
|
谈谈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,资源多!
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,资源多!
|
第一点:以后要升级什么彩屏? TFT? 那肯定是要用ARM9+的CPU的(主要是主频要跟上),这样肯定是linux比较好(因为有成熟的gui),如果你要求实时性很高,(比如一个周期50ms要采样多少个点处理这类情况),那就不用考虑linux了,因为做不到的。想改内核? 除非你的公司规模能够比得上华为,中兴等,不然不用想。
第二点:如果只是软件升级需要出差? 写个详细文档告诉别人怎么烧程序不就得了?至于uc/os下的TCP/IP源码,很多现成的,google就有了。linux也不能远程升级内核,只是有boot-loader烧程序比较方便。
第三点:不需要什么技术支持了,简单的东西你自己看看书也会,难的东西别人不知道,知道也不告诉你。又不是硬件,有厂家的支持,这两个操作系统本身就是开源,哪来什么技术支持。
第四点:开发平台,总之是和硬件有关,这两个操作系统不会面临难以选择的情况。如果是linux和wince或者ucos和vxworks还是需要考虑选哪个。
|
ucosII虽然可以称为操作系统,但是太简单了,外围的支持太少了,对于开发复杂的应用周期会比较长,其实也做不了太复杂的应用。都是比较低端的CPU会用ucos。
linux(uClinux)相对的资源会比较多,开发起来会比较容易一些。高端的CPU会用。
linux(uClinux)相对的资源会比较多,开发起来会比较容易一些。高端的CPU会用。
|
2个OS我都做过成熟的系统,所以可以回答一下你,记得给分!
0.可靠性,可扩展性
UCOS更可靠,因为移植简单,linux可扩展性好,但是移植困难,需要CPU厂家支持!
可靠性另一个要素是文件系统,不论用啥系统,这个你都要自己搞!
1.GUI编程
你有成熟的GUI的话,最好用UCOS,linux一旦用gui,系统就会反应慢,并且变得庞大!
2.多个单元通信,UCOS不支持TCP/IP,用自己搞,据说有商业版本的,不过要银子!
3.远程升级,依赖于内容2
4.技术支持就别想了!
5.实时性,UCOS好,linux是可以改进,不过国内有这个水平的人不多!
建议:如果人手少,时间紧,还是用linux吧,资源比较多!UCOS啥都得自己动手!
0.可靠性,可扩展性
UCOS更可靠,因为移植简单,linux可扩展性好,但是移植困难,需要CPU厂家支持!
可靠性另一个要素是文件系统,不论用啥系统,这个你都要自己搞!
1.GUI编程
你有成熟的GUI的话,最好用UCOS,linux一旦用gui,系统就会反应慢,并且变得庞大!
2.多个单元通信,UCOS不支持TCP/IP,用自己搞,据说有商业版本的,不过要银子!
3.远程升级,依赖于内容2
4.技术支持就别想了!
5.实时性,UCOS好,linux是可以改进,不过国内有这个水平的人不多!
建议:如果人手少,时间紧,还是用linux吧,资源比较多!UCOS啥都得自己动手!
|
都用过 ucos简单,linux复杂,看你的应用场合,不过linux对CPU要求高,ucos 51都可以跑。升级可以弄个FTPSERVER。