http://bbs.21ic.com/viewthread.php?tid=224723&page=1#pid1583448

很多ARM初学者有一个错误的概念——学ARM必搞嵌入式操作系统。认为在ARM上跑嵌入式操作系统就代表技术先进、产品档次高的观点绝对是谬论。持这种观点的人一定是没有做过具体的产品开发。一个嵌入式产品是否需要跑嵌入式操作系统,是由很多因素决定的,例如,产品的功能需求、开发成本、开发周期等都是需要综合考虑的。
对于ARM初学者来说,前期我们并不建议使用嵌入式操作系统。当用户把所有配套实验都熟练掌握后,即对LPC213X/214X的内部功能器件可以做到熟练应用的程度后,可以考虑学习一个具体的嵌入式操作系统。
目前,流行的嵌入式操作系统非常多,例如,uC/OS-II、WinCe、Linux、VxWorks等。对于初学者,我们慎重地推荐源码公开的uC/OS-II嵌入式操作系统。uC/OS-II已经有很多产品成功使用的案例且得到了美国航空管理局的认证,北京航空航天大学出版社也出版了配套的专著。国内熟悉这个嵌入式操作系统的开发人员特别多,十分容易通过网站上的讨论社区得到帮助,更关键的是,初学者可以很容易地通过阅读源码达到彻底掌握嵌入式操作系统的目的。在熟练掌握了uC/OS-II后,用户已经从ARM初学者进入到了ARM应用开发工程师的行列。下一步可根据自己的知识背景、兴趣爱好和开发领域,再选择一个嵌入式操作系统(例如WinCE、Linux或VxWorks等)进行学习,彻底掌握ARM嵌入式系统开发。


各位不要误导年轻的初学者,即便要搞Liunx,uC/OS-II也是入门的基础。要知道用Linux开发产品的公司无一不是投入了大量资金和人员,最后很多企业还是回到了商业软件的老路上了。世界上从来没有现成的午餐!我们必须相信这些经典的教条。

 

个人感觉uC/OS-II对arm结构的支持不是很好
任务切换部分效率低,中间件重复使用性不佳
单片机就没啥意思了,资源少的可怜
arm7上到凑合用用吧,也没啥好RTOS
arm9上就是Linux和WinCE的天下了,毕竟支持MMU
但是uC/OS-II的核心-任务切换很值得研究
个人认为把核心几部分看透彻了还是赶紧投靠Linux阵营好

 

我们需要的操作系统应该兼顾实时性、可裁减性、可扩展性
在linux上写个应用程序很容易
在uC/OS-II上写就要当心内存碎化了,而且不支持C++
堆栈空间都以数组开出,别扭,都定死了
编写用户程序时你能找到的帮助远没Linux多
但是uC/OS是一只五脏六腑俱全的麻雀,解剖一下会林另你功力上升一个台阶
你会发现《操作系统》课程里面的书本知识是怎么应用起来的
我远没本事写操作系统:)
最近发现老周在推日本的TRON操作体统,我在鬼子网站还没看到仔细的TRON性能介绍,小日本的东西藏来藏去,找不到完整的,不过听说日本占有率相当高
有空了,我用C++把uC/OS改良一下,对ARM的七种模式看看如何优化,因为上下文切换那边是比较罗嗦的,效率低

 

看你用来做什么。uc/os本身非常简单,代码不过2、3千行,与硬件相关的代码更是少的可怜(只有几百行),因此它具备很高的可移植性。但是它本身仅仅提供一个内核,只负责任务的调度与通讯工作,因此它的应用场合就比较有限。为了增强它的功能,有许多软件公司为uc/os编写了文件系统、GUI、TCP/IP协议栈等,这样uc/os就能够担任更重要的工作,不过这些模块有的并不开放源代码。在国外,采用uc/os的产品还是不少的,国内也有许多人在采用uc/os,我认为uc/os的应用还是有前途的,特别在功能比较简单的嵌入式系统。
uc/os的实时性能非常好,甚至比大多数商业化的嵌入式操作系统都好,而且稳定性也很高(因为简单嘛),因此它在工业控制领域和实时性要求很高的场合非常合适,比如许多高档的测试仪器就用了uc/os。

 


恩,跟应用领域有很大关系,像无线传感器、和自动化控制方面ucos-ii用的就比较多,智能手机和GPS导航
方面wince就用得比较多。


不论是ucos   或linux   都需保证学习一个操作系统所需的预备知识,这个才重要嘛.比如操作系统理论,相关的硬件知识,等等

如果对操作系统不是很熟悉,建议还是从ucos开始,可以加深理解,有有助于对linux的学习
如果您已经对操作系统比较熟悉了,或者对其他嵌入式操作系统比较熟悉的话,直接学习linux吧

如果是要学习linux内核的话,建议可以从linux0.11开始,这个资源多,讲解详细,也比较简

 

周立功:当一个系统选用uc/OS-2时,只需要:2M的nor flash,2mB-8mB的sdram,目前最新的版本是UC/OS-3,如果将它移植到ARM9,它的启动速度是1s,由于很多开发人员没有尝试过而忽略了UC/OS-3这么好的系统而只会选择自己会的MCU或者嵌入式操作系统,并没有正确的选择的MCU或操作系统,且思想非常顽固。US-OS2能满足:CF卡,sd卡,以太网,CAN-BUS/CANOPEN/DEVICENET/J1939,GUI图形界面,缺陷是支持WIFI的不完善。

  如果一次购买超过3000个授权,价格还是很便宜的,如果无论开发什么产品都选择WinCE的话,肯定是不划算的。比如选用uC/OS-II就可以实现的项目,如果因为开发人员的喜好而选用WinCE,至少需要2片32M的SDRAM,1片32M的NOR Flash或一片2M的NOR Flash+128M的NAND Flash(因为容量少的工业级NAND Flash越来越难购买),可想其硬件成本之高。

 

Logo

更多推荐